2011-04-15 219 views
0

我想使用jQuery ajax庫。jQuery.POST截斷「數據」值?

除了數據被截斷以外,一切正常。 它將成爲只有<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' 
}); 

此外更新 我改變上述在這些屬性的皁值: 的xmlns:soapenv 的xmlns:ASI 是像111 = 「222」 AAA = 「BBB」

它在SECOND屬性仍然被截斷。 如果我刪除其中一個屬性,則不會被截斷,整個SOAP XML都會被髮送。

+0

也許,這可能有所幫助:http://www.bennadel.com/blog/1853-Posting-XML-SOAP-Requests-With-jQuery.htm – 2011-04-15 22:44:10

回答

1

嘗試張貼之前逃離數據:

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

我會做的第一件事是把一對夫婦警報()在彈出窗口出現。你在設置變量之後,當你調用該函數時一個。發現它所在的位置,沒有完整的字符串並繼續回溯,以便找出截斷的原因。

+0

我建議console.log而不是警報:http: //getfirebug.com/logging – turtlepick 2011-04-16 04:19:45

0

上面的Majid給出的鏈接解決了我的問題。有需要設置的AJAX屬性表示它是XML消息。然後不再發生截斷

不知道如何接受,因爲它是評論的一部分。