C# / jQuery使用ajax,而不是使用encosia示例
本文关键字:encosia 示例 jQuery 使用 ajax | 更新日期: 2023-09-27 18:36:36
我正在玩C#和jQuery(Ajax)。为了在创建 Ajax 请求时使 C# 代码尽可能简短和干净,而不使用 Encosia 示例(简而言之,没有 Ajax 调用的 ASP.NET)。响应可以是XML,JSON或普通(部分)HTML。
我有一个工作版本,但这更可取吗?还是我应该考虑其他方法?
我在VS2010 express中确实收到1个警告(对于ajax.aspx页面)(搜索此错误并没有给我满意的答案)
警告
验证 (): 元素 'html' 出现次数太少。
默认.aspx
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div id="Result"></div>
<script type="text/javascript" language="javascript">
$(function () {
$.ajax({
url: "AJAX.aspx",
success: function (data) { $("#Result").html(data); }
});
});
</script>
</asp:Content>
Ajax.aspx(本页只有这一行)
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="AJAX.aspx.cs" Inherits="AJAX" %>
阿贾克斯.aspx.cs
using System;
using System.Text;
using System.Data;
public partial class AJAX : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Write("Hello world");
Response.End();
}
}
就像错误所说的那样:您必须具有<html>
标签才能拥有有效的HTML文档。由于您的页面似乎不使用母版页,因此可能没有呈现 html 标记。有简短,然后有太短。
我认为你应该添加到代码中的一件事与jQuery ajax调用有关。您尚未显式指定所有设置。我使用以下方法为所有 ajax 调用设置默认值,这些值可以在任何阶段被单个 ajax 调用覆盖:
$.ajaxSetup({
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
error: function (XMLHttpRequest, textStatus, errorThrown) {
utilities.ajaxErrorAlert(XMLHttpRequest, textStatus, errorThrown);
}
});