我正在尝试使用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。
答案 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消息。然后不再发生截断
不确定如何接受这个作为答案..因为它是评论的一部分。