我正在用jquery调用一个页面方法,它运行得很好。我正在创建第二个,它根本不起作用;我得到的只是错误功能。是否可以在aspx页面中放置超过1页的方法?
这是我在客户端上的jquery:
function LoadCount() {
var TheObject = $.toJSON(CurrentForm);
var TheParameter = "{'TheParameter' : '" + TheObject + "'}";
$('#testobj').html("loading");
$.ajax({
type: "POST",
url: "../Pages/MyPage.aspx/GetCount",
data: TheParameter,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFn,
error: errorFn
});
};
function successFn(thedata) { $('#result').html(thedata.d); };
function errorFn() { alert("problem getting count"); };
function LoadData() {
var ConfirmLoad = "test";
$.ajax({
type: "POST",
url: "../Pages/MyPage.aspx/GetLoaded",
data: ConfirmLoad,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successLoad,
error: errorLoad
});
};
function successLoad(thedata) { alert((thedata.d)); };
function errorLoad() { alert("problem getting loaded"); };
在服务器端,我有这个:
[WebMethod]
public static string GetCount(string TheParameter)
{
// some code
return JsonResult;
}
[WebMethod]
public static string GetLoaded(string ConfirmLoad)
{
return "test string";
}
LoadCount和GetCount工作得很好,我以为我会复制实现来创建另一个页面方法,但第二次,没有任何好处发生。谢谢你的建议。
答案 0 :(得分:0)
如果您只是返回纯文本而不是JSON编码的字符串,则需要在dataType: "text"
调用属性中设置$.ajax()
。
如果您发送纯文本而不是JS对象,您可能还希望保留contentType
未指定(默认值为'application/x-www-form-urlencoded'
)。