我做了一个jquery ajax调用来调用静态page method
。它没有任何参数正常工作。但是,如果我输入参数,那么它不会调用该页面方法。我有以下代码。
JAVASCRIPT
$.ajax({
type: 'POST',
url: 'ItemMaster.aspx/UploadFile',
contentType: 'application/json; charset=utf-8',
data: {'path':'mydata'},
dataType: 'json',
success: function (msg) {
alert(msg.d);
}
});
PAGE METHOD
[WebMethod]
public static string UploadFile(string path)
{
return "Success";
}
是否发生datatype
不匹配?我热身谷歌一段时间没有任何成功。请帮忙..
答案 0 :(得分:2)
您的数据对象必须是JSON字符串。尝试
var dataToSend = JSON.stringify({'path':'mydata'});
$.ajax({
type: 'POST',
url: 'ItemMaster.aspx/UploadFile',
contentType: 'application/json; charset=utf-8',
data: dataToSend,
dataType: 'json',
success: function (msg) {
alert(msg.d);
}
});
如果您支持旧浏览器,请务必添加JSON.js。
答案 1 :(得分:1)
您发送的数据不是json。删除内容类型,或将数据转换为json。
我会移除内容类型。
$.ajax({
type: 'POST',
url: 'ItemMaster.aspx/UploadFile',
data: {path:'mydata'}, // you may need to remove the quotes from path here
success: function (msg) {
alert(msg.d);
}
});