jQuery.POST截断“数据”值?

时间:2011-04-15 22:31:39

标签: jquery ajax post

我正在尝试使用jQuery ajax库。

除了数据被截断外,一切都很好。 它将只变为<soapenv:Envelope xmlns:soapenv:"http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi  (其余的都没有了)。有什么想法吗?

//var soap contain as following

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/"><soapenv:Header/><soapenv:Body><asi:SiebelAccountQueryById>      <PrimaryRowId>3-2A2-3235</PrimaryRowId></asi:SiebelAccountQueryById></soapenv:Body></soapenv:Envelope>

jQuery.ajax({
  type: 'POST',
  url: url,
  data: soap,
  success: function() {
    console.log("success calling web service");
  },
  dataType: 'xml'
});

进一步更新 我在这些属性上更改了上面的soap值: 的xmlns:soapenv 的xmlns:ASI 是111 =“222”aaa =“bbb”

它仍然在SECOND属性上被截断。 如果我删除其中一个属性,则不会截断任何属性,而是发送整个SOAP XML。

3 个答案:

答案 0 :(得分:2)

在发布之前尝试转义数据:

jQuery.ajax({
  type: 'POST',
  url: url,
  data: encodeURIComponent(soap),
  success: function() {
    console.log("success calling web service");
  },
  dataType: 'xml'
});

答案 1 :(得分:0)

我要做的第一件事是在那里放几个alert()弹出窗口。设置变量之后,一个在调用函数时。发现它的位置并且没有完整的字符串并继续追溯,这样你就可以找出截断的原因。

答案 2 :(得分:0)

Majid上面给出的链接解决了我的问题。需要设置AJAX属性以表明它是XML消息。然后不再发生截断

不确定如何接受这个作为答案..因为它是评论的一部分。