$ .ajax和webmethod / pagemethods
我试图调用一个没有任何参数的页面方法,我似乎无法让它工作。
如果我在pagemethod中有一个参数,它可以正常工作。
$.ajax({ type: "POST", url: "Default.aspx/getLastCallData", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { alert(msg.d); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('Couldnt get call data'); } });
有任何想法吗。
由于您未传递任何数据,因此仍应添加data参数并传递空JSON对象。
通过发送一个空的JSON对象,jQuery将正确发送您在$ .ajax调用中定义的contentType。 这是一个奇怪的怪癖,jQuery没有真正解释过。
添加以下参数:
data: "{}"
所以你的电话应该是这样的:
$.ajax({ type: "POST", url: "Default.aspx/getLastCallData", data: "{}", contentType: "application/json; charset=utf-8", dataType: "json", success: function(msg) { alert(msg.d); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('Couldnt get call data'); } });
您是否尝试过为GET
切换POST
? 不知道这是否有所不同,但由于你没有发送任何数据,你实际上并没有发布任何数据,你只是获取数据……可能是奇怪的事情。