【问题标题】:jQuery ajax post to web servicejQuery ajax 发布到 Web 服务
【发布时间】:2011-03-07 04:13:10
【问题描述】:
$(document).ready(function() {
        $.ajax({ type: "POST",
                        url: "/getprojects.ashx",
                        data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>",
                        dataType: "text/xml",
                        cache: false,
                        error: function() { alert("No data found."); },
                        success: function(xml) {
                            alert("it works");
                            alert($(xml).find("project")[0].attr("id"));
                        }
        });
    });

我的问题是我得到了一些数据,但我似乎无法显示它。

【问题讨论】:

  • 这个数据是什么样子的?您要提取其中的哪一部分?您希望它如何以及在哪里格式化和显示?
  • 我得到的数据如下所示: 我对所有项目的一些属性,以html显示。
  • 如果你使用交替的单引号/双引号,你就不需要全部转义:(

标签: jquery xml ajax web-services ashx


【解决方案1】:

dataType 应该是您收到的类型,但contentType 应该是您发送的 mime 类型,以下应该没问题:

$(document).ready(function() {
        $.ajax({ type: "POST",
                        url: "/getprojects.ashx",
                        data: "<formData client=\"\" year=\"\" categories=\"\" tags=\"\" freeText=\"\" count=\"34\" page=\"1\"></formData>",
                        contentType: "text/xml",
                        dataType: "xml",
                        cache: false,
                        error: function() { alert("No data found."); },
                        success: function(xml) {
                            alert("it works");
                            alert($(xml).find("project")[0].attr("id"));
                        }
        });
    });

【讨论】:

  • 错误回调签名为error(XMLHttpRequest, textStatus, errorThrown) 参数值是多少?
  • [object XMLHttpRequest parsererror TypeError: a is null] 但我有点放弃并继续前进,但仍将不胜感激如何让它工作的答案。
  • 现在的问题是问题是在发送还是接收数据时。您的服务器收到请求了吗?它的响应是什么?
  • 为此,您能给我看看任何示例 WebMethod 吗?
【解决方案2】:

您的dataType 似乎有误。它应该看起来像

dataType: "xml"

你的data 结构看起来也很奇怪。看看.serializeArray()。它应该是标准查询字符串 foo=bar&test=bla 等。

如果success handler 被执行,尝试查找你的xml 变量plain,没有 使用.find() 或其他方式对其进行操作。还是空的?

【讨论】:

  • @Buckley:再看我的帖子,你的data 也是不正确的。如果它仍然执行错误处理程序,则通过传递 function(xhr, textStatus, error) 查找错误代码/字符串
  • 谢谢 jAndy,我对 .serializeArray() 有点麻烦
  • 我得到一个 [object XMLHttpRequest parsererror TypeError: a is null] with function(xhr, textStatus, error)
猜你喜欢
  • 2011-09-13
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多