0

現在のアプリケーションには、htm ページと、1 つの service.aspx および service.aspx.cs ファイルがあります。私は.Net 4.0を使用しています。service.aspx.cs ページには、以下のように testmethod があります。

[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 に答える