【发布时间】:2016-07-09 12:35:17
【问题描述】:
我能够让它工作(成功回调)。
但我得到的回应是 default.aspx 的 整个 HTML
AJAX:
function CreateLottery(lottery) {
debugger; // 'lottery' comes with the properties of the Lottery class
$.ajax({
type: 'POST',
url: 'default.aspx/Create',
data: JSON.stringify({ data: lottery }),
dataType: 'text',
success: function (data, status) {
alert(data.TotalValue + " " + status) //"undefined success"
},
error: function () {
alert("error!")
}
});
}
我在警报中收到“未定义的成功”。 “data”是整个 html 文档,而不是“Lottery”对象。
Create WebMethod 和 Lottery 类:
[WebMethod]
public static Lottery Create(Lottery lottery)
{
return lottery;
}
public class Lottery
{
public string TotalValue { get; set; }
public string Players { get; set; }
}
我不知道发生了什么,WebMethod 返回的对象与它收到的对象完全相同,我怎么无法在成功回调中访问它?
编辑:WebMethod 没有被命中。 “ScriptManager”存在于 default.aspx 中,其中 EnablePageMethods 设置为 true。如果我将 WebMethod 名称(创建)更改为任何内容并将 /Create 保留在 AJAX url 中,仍然会得到整个 default.aspx HTML 作为响应。
【问题讨论】:
-
提示:抱怨反对票可能只会带来更多反对票。
-
我删除了它。你不能帮忙,而不是这种不友好的待遇吗?也许你对一个合法问题的否决真的会帮助我。谢谢。
-
我认为它不起作用,“整个文档”可能是 404 或 500 http 响应。你真的看
data的内容了吗? -
html 中有什么?我试图弄清楚你是否有自定义错误,你甚至没有点击 webmethod。
-
200 响应仅表示生成并发送了响应。这并不意味着它是您期望的响应。在web方法中放一个断点,看看是否命中。