我有一个返回一些数据的web方法。我正在使用jquery来调用该函数,其内容类型指定为XML。问题是它在本地机器上工作但在服务器上没有。代码我是使用是:
var arrInputs = pnl.getElementsByTagName("input");
str = arrInputs[0].value;
$.ajax({
type: "POST",
url: "../curriculum.asmx/EditListBox",
dataType: "xml",
data: "setcur_id=" + str + "",
processData: false,
success: function(xml) { ajaxFinish(xml); },
error: function()
});
之后定义了Ajaxfinish,它在本地工作正常 是否还需要一些设置才能使其可执行
答案 0 :(得分:1)
如果您已移动更改了主机,则问题很可能是您所请求的页面,而不是您的javascript代码。
检查当您请求“../curriculum.asmx/EditListBox”在本地和远程环境中是否相同时返回的内容。
您可以通过在浏览器中手动提交请求(您需要使用FF扩展程序来设置发布数据)或使用firebug中的Net选项卡来执行此操作。
另外,我还使用一个名为Charles(http://www.charlesproxy.com/)的优秀小工具来监控您的所有http请求,并允许您进入并修补它们。
无论哪种方式,您可能会发现导致问题的本地版本和远程版本返回的内容之间存在差异。
如上所述,您可能还想添加一个更具描述性的错误处理程序,它可以为您提供有关其失败原因的更多详细信息