JQuery.POST урезать значение «данные»? - PullRequest
0 голосов
/ 16 апреля 2011

Я пытаюсь использовать библиотеку 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'
});

Дальнейшее обновление Я изменил значение мыла выше в этих атрибутах: XMLNS: soapenv XMLNS: АСИ быть чем-то вроде 111 = "222" aaa = "bbb"

Он все еще усекается в атрибутах SECOND. Если я удалю один из атрибутов, ни один из них не будет усечен, будет отправлен весь SOAP XML.

Ответы [ 3 ]

2 голосов
/ 16 апреля 2011

Попробуйте экранировать данные перед публикацией:

jQuery.ajax({
  type: 'POST',
  url: url,
  data: encodeURIComponent(soap),
  success: function() {
    console.log("success calling web service");
  },
  dataType: 'xml'
});
0 голосов
/ 25 апреля 2011

Ссылка, предоставленная Маджидом выше, решила мою проблему.Есть атрибуты AJAX, которые должны быть установлены, чтобы указать, что это сообщение XML.Тогда больше не будет усечения

Не уверен, как принять это как ответ .. так как это часть комментария.

0 голосов
/ 16 апреля 2011

Первое, что я хотел бы сделать, это поместить пару всплывающих окон alert ().Один после того, как вы установите переменную, один при вызове функции.Узнайте, где оно есть, а где нет полной строки, и продолжайте трассировку, чтобы понять, почему оно усекается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...