Tôi đang thực hiện một số thử nghiệm đơn giản (để chuẩn bị cho một dự án lớn hơn) để gọi ASP.NET WebMethod bằng cách sử dụng JQuery AJAX. Trong ví dụ của tôi, WebMethod của tôi trả về một chuỗi đơn giản. Tuy nhiên, khi tôi cố gắng gọi nó bằng cách sử dụng JQuery, tôi nhận được toàn bộ nội dung trang HTML được trả về thay vì chỉ chuỗi của tôi. Tôi đang thiếu gì?Jquery AJAX với ASP.NET WebMethod Returning Entire Page
Client Side:
$(document).ready(function ready() {
$("#MyButton").click(function clicked(e) {
$.post("Default.aspx/TestMethod",
{name:"Bob"},
function(msg) {
alert("Data Recieved: " + msg);
},
"html"
);
});
});
Server Side:
using System;
using System.Web.Services;
namespace JqueryAjaxText
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string TestMethod(string name)
{
return "The value submitted was " + name;
}
}
}
Hãy chắc chắn rằng web.config của bạn có chứa một cái gì đó tương đương với này, tùy thuộc vào phiên bản của bạn: ' \t \t \t \t \t \t \t \t \t \t \t \t httpModules> \t \t \t configuration> ' –
Nathan
Phần quan trọng của điều này là dòng contentType:" application/json; charset = utf-8 "không có dòng đó, nó sẽ trả về HTML. –