Javascript Ajax请求仅发布部分文本
我有以下ajax脚本(prototype js),但它只是发布了部分文本Javascript Ajax请求仅发布部分文本,javascript,php,ajax,prototypejs,Javascript,Php,Ajax,Prototypejs,我有以下ajax脚本(prototype 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
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);
}
当我在控制台中输出文本
时,我得到通过定位器
传递的所有信息,例如
------------------------------------------------------------
<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
您需要在发布字符串之前对其进行编码:
...
parameters: 'report=' + encodeURIComponent(text);
...
现在,字符串中的字符可以使其无效,将其拆分为多个键值字段等。非常感谢,您刚刚结束了一个非常长的对表调试会话:-)
...
parameters: 'report=' + encodeURIComponent(text);
...