0

我当前的应用程序中有一个 htm 页面和一个 service.aspx 和 service.aspx.cs 文件。我正在使用.Net 4.0。在 service.aspx.cs 页面中,我有如下测试方法。

[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)]
public static string test()
{
    return "AA";
}

在我的 html 页面中

 $.ajax({
    type: "GET",
    cache: false,
    url: "NextGenFormService.aspx/test",
    dataType: "xml",
    contentType: "text/html",
    success: AjaxSucceeded,
    error: AjaxFailed
});  //end of $.ajax;

如果我在我的服务器中保留一个断点,它就不会命中。AjaxSucceeded 被调用 200 OK 并且 responseText 为空。

同样适用于 contenttype: application/json, datatype: json。

我试图从服务器或测试方法发送的只是 html 和 JavaScript。

4

1 回答 1

0

使用默认值contentType,因为您什么都不发送,更改为html数据类型。

有时 asp.net 不喜欢丢失的数据属性,即使是这样的空属性:

$.ajax({
    data:{},
    type: "GET",
    cache: false,
    url: "NextGenFormService.aspx/test",
    dataType: "html",
    contentType: "application/x-www-form-urlencoded;",
    success: AjaxSucceeded,
    error: AjaxFailed
});
于 2013-08-14T11:52:24.563 回答