使用jquery ajax将数据以json形式发送到php脚本时出现pareser错误
pareser error while sending data as json to php script using jquery ajax
我正在使用jquery的$.ajax
向位于localhost
的服务器发送一些数据。
数据是JSON
对象。
如下所示:
javascript
var jso={
"data": {
"Game_name": "Road Rash",
"cheat": "xyzzyspoon!",
"effects": [
{
"nitro": true
},
{
"chain": false
}
]
}
};
function sendData(){
var queryString=JSON.stringify(jso);
$.ajax({
type: "POST",
url: "/gamers_cheats.php",
contentType: "application/json; charset=utf-8",
traditional: true,
dataType: 'json',
data: queryString,
success: function(data){
console.log(data);
},
error: function(data,textStatus,jqXHR){
alert("Unknown Error occured :- 'n "+textStatus+"'n error");
console.log("Unknown Error occured :- 'n "+textStatus+"'n error");
}
});
}
sendData();
并将我的php
文件中的数据处理为:
gamers_cheats.php:
<?php
var_dump($_POST);
echo"'n Count:- ".count($_POST);
// This is Just a demo file
?>
但问题是$.ajax
用textStatus
作为解析器错误来警告error:
部分。同样的情况也发生了,即使我并没有使用JSON.stringify.
如果线路:
contentType: "application/json; charset=utf-8",
traditional: true,
dataType: 'json',
则该请求被发送到服务器,但这不是有效的请求,因为它向JSON
对象中的每个("
)添加了额外的斜杠('
)。
类似:
'"data'": {
'"Game_name'": '"Road Rash'",
'"cheat'": '"xyzzyspoon!'",
'"effects'": [
{
'"nitro'": true
},
{
'"chain'": false
}
]
}
所以在服务器端处理时会出现错误。是否有任何方法可以使用jquery ajax正确发送POST
JSON数据,并在服务器上正确处理它?
还有一个问题,我可以将非JSON
格式的额外$_POST
参数添加到我的queryString
中作为data: queryString +"&&navigator="+navigator.userAgent+""
吗?但这也不起作用(这并不重要,只是好奇而已)。
仅供参考,我正在运行带有php5.2的IIS 7服务器和带有JSON2.js.的JQuery 1.7.2版本
希望这里的专家能帮助我。
删除行'var queryString=JSON.stringfy(jso);'将对象jso作为数据传递可能会有所帮助。试试看。
相关文章:
- 如何将字符串值从php页面发送到java脚本页面
- php脚本中无法识别ajax传递的值
- 使用JS在服务器上运行PHP脚本
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- jQuery DataTable返回带有数据的PHP脚本
- php中的脚本重定向是递归的
- 通过JavaScript设置的表单字段的值不会作为$_POST的一部分传递给PHP脚本
- PHP和JS脚本的奇怪问题,在我刷新页面之前第一次失败
- 如何在脚本部分使用php部分代码中的变量
- 单击Dojo按钮执行PHP脚本
- wp_dequeue_script VS 从函数中删除脚本.php
- 读取 Java 脚本 / PHP 类似文件 / 缺少换行符
- 隐藏输入(html表单确认)-服务器端脚本?(php)
- 同时在java脚本(php模块)中添加/删除类
- jQuery加载img,同时执行Python脚本PHP
- 加载脚本Php / Javascript
- 反向链接检查脚本PHP
- 在没有服务器端脚本(PHP)的情况下,在所有页面上显示相同的内容(页眉、导航栏、边栏、页脚)
- 如何使一个脚本(PHP)登录到一个网站(没有API),并单击一个按钮