Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以使用AJAX XMLHttpRequest执行真正的POST(而不是var=val url类型POST)吗?_Javascript_Ajax_Post - Fatal编程技术网

Javascript 可以使用AJAX XMLHttpRequest执行真正的POST(而不是var=val url类型POST)吗?

Javascript 可以使用AJAX XMLHttpRequest执行真正的POST(而不是var=val url类型POST)吗?,javascript,ajax,post,Javascript,Ajax,Post,对不起,我不太清楚该怎么问这个问题。。但基本上是这样 我刚开始使用Ajax。。在后台发送XMLhttpRequest时,我遇到了表单数据中的一些html特殊字符的问题,特别是过早终止变量的符号(&S) 将“你和我”的结果视为“你” 现在从我的角度来解释这个问题。。就是这个。。如果我使用GET方法提交我的常规表单,同样的事情也会发生。。因为变量是URL编码的。。但是,如果我将表单设置为POST方法,那么所有内容都会按我的需要保留 现在我相信它与此有关(?) 特别是在表格部分。。还有别的选择吗 我不

对不起,我不太清楚该怎么问这个问题。。但基本上是这样

我刚开始使用Ajax。。在后台发送XMLhttpRequest时,我遇到了表单数据中的一些html特殊字符的问题,特别是过早终止变量的符号(&S)

将“你和我”的结果视为“你”

现在从我的角度来解释这个问题。。就是这个。。如果我使用GET方法提交我的常规表单,同样的事情也会发生。。因为变量是URL编码的。。但是,如果我将表单设置为POST方法,那么所有内容都会按我的需要保留

现在我相信它与此有关(?)

特别是在表格部分。。还有别的选择吗

我不想对通过Ajax传递的每个变量运行清理例程:(

&
符号过早终止变量

&
应该终止x-www-form-urlencoded数据中的值。在构建URL时,您需要删除数据

如果我使用GET方法提交我的常规表单,同样的事情也会发生。因为变量是URL编码的

否。如果使用GET提交常规表单,则输入的数据将采用URL编码,显示为数据的符号和字符将由
%26
表示,而不是原始
&
字符表示,因此不会发生同样的情况

是否有[应用程序/x-www-form-urlencoded]的替代方案

您可以使用您喜欢的任何数据格式。有些格式比其他格式更容易生成(JSON特别容易从浏览器生成)。然后,您将面临在服务器上解码这些格式的挑战(表单处理库不倾向于使用JSON,因此您必须获取原始POST数据并自己解码)


因为您的实际问题是通过对数据进行编码来解决的,所以这是不必要的。

hmm
hr.open("POST", link, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");