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();
    }
}

C# / jQuery使用ajax,而不是使用encosia示例

就像错误所说的那样:您必须具有<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);
        }
    });