无法使用ajax调用从服务器返回一个简单的字符串。我没有在ajax上获得404,而是200,statusText:" OK"。
我收到了返回的整页HTML,它正在落入错误块。
我已将配置编辑为包含:
<jsonSerializationmaxJsonLength="2147483647"/>
这是我的AJAX:
$(function () {
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: $(location).attr('href') + "/GetYard",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
});
function OnSuccess(response) {
console.log(response);
}
我的VB.Net代码:
<WebMethod>
Public Shared Function GetYard() As String
Return "TEST"
'HttpContext.Current.Response.BufferOutput = True
'HttpContext.Current.Response.ContentType = "application/json"
'HttpContext.Current.Response.Write("Test")
'HttpContext.Current.Response.Flush()
End Function
答案 0 :(得分:0)
这需要在脚本管理器中启用EnablePageMethods选项:
<asp:ScriptManager .. EnablePageMethods="True" />
如果您阅读了onsuccess(参考您的评论)返回的HTML,它可能会说您需要启用EnablePageMethods或其他一些配置选项。
确保完成;这里也是online example,但看起来你的方法反映了这一点,除了它使用&#34; POST&#34;作为类型而不是&#34; GET&#34;。