javascript — Ajax-запрос, размещающий только часть текста

У меня есть следующий скрипт ajax (прототип js), но он публикует только часть текста.

Selenium.prototype.doSaveCopyPaste = function(locator) {
var element = this.page().findElement(locator);
var text = jQuery(element).text();
console.log(text);

var ajax = new Ajax.Request('http://copypaste.test', {
method: 'post',
parameters: 'report=' + text,
processData: false,
onSuccess: function(transport) {
var response = transport.responseText || "no response text";
alert("Success! \n\n" + response);
},
onFailure: function() { alert('Something went wrong...'); }
});
console.log(ajax);
}

когда я выведу text в консоли я получаю все что через locatorпример

------------------------------------------------------------
<br>
Header 1
<br>
------------------------------------------------------------
<br>
Header 2
<br>
Sub Heading: A Name
<br>
Sub Heading 2: Another Name
<br>
Sub Heading 3: data here
<br>
etc etc for about 3000 characters

Итак, я понимаю, что у меня нет строки здесь, и это может быть причиной того, что у меня возникли проблемы? .. так как я могу отправить все данные в мой скрипт PHP …

if ($_POST['report']) {
echo $_POST['report'];
}

2

Решение

Вам нужно закодировать вашу строку перед тем, как опубликовать ее:

...
parameters: 'report=' + encodeURIComponent(text);
...

Теперь символы в вашей строке могут сделать ее недействительной, разбить ее на несколько полей значений ключа и т. Д.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]