【问题标题】:Web Service returning xml data using jquery works fine on local but not on server使用 jquery 返回 xml 数据的 Web 服务在本地运行良好,但在服务器上运行良好
【发布时间】:2010-01-04 14:09:06
【问题描述】:

我有一个返回一些数据的 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 是之后定义的,它在本地运行良好 我需要做更多设置才能使其可执行

【问题讨论】:

  • 你试过绝对网址吗?
  • 观察控制台中的“网络”选项卡并检查服务器响应。您可能还想修改 ajax 帖子中的错误处理程序。
  • 是的,我已经尝试过绝对网址,但仍然无法正常工作
  • 给出未定义的错误

标签: asp.net ajax web-services jquery


【解决方案1】:

如果您已更改主机,则问题很可能与您请求的页面有关,而不是您的 javascript 代码。

检查在本地和远程环境中请求“../curriculum.asmx/EditListBox”时返回的内容是否相同。

您可以通过在浏览器中手动提交请求(您需要使用 FF 扩展程序来设置发布数据)或使用 firebug 中的 Net 选项卡来完成此操作。

另外,我还使用了一个名为 Charles (http://www.charlesproxy.com/) 的优秀小工具,它可以监控您的所有 http 请求并允许您进入并修改它们。

无论哪种方式,您都可能会发现导致问题的本地版本和远程版本返回的内容之间存在差异。

如前所述,您可能还想添加一个更具描述性的错误处理程序,它可以为您提供有关失败原因的更多详细信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 2013-06-08
    • 2020-02-25
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多