【发布时间】:2015-08-24 08:52:01
【问题描述】:
我正在尝试将带有 ajax 的 json 发送到 php 文件,因为我在下面的代码中尝试过
-
使用 jquery
var dummyData = {'bob': 'foo', 'paul': 'dog'}; var ajaxRequest = $.ajax({ url: "json_handler.php", type: "POST", contentType: "application/json; charset=utf-8", data: JSON.stringify(dummyData ), dataType: "json" }); ajaxRequest.done(function (response, textStatus, jqXHR) { console.log(response + textStatus + jqXHR); alert('sd'); }); ajaxRequest.fail(function (e) { console.log(e); });
我只是在json_handler.php 处做var_dump($_REQUEST) 并且ajax 请求一直失败并且在响应文本中什么也得不到
当我尝试时
$json = file_get_contents('php://input');
var_dump($json);
我得到了 json,但 ajax 请求仍然失败。
我也试过做这个javascript,我的代码在下面
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = stateHandler;
httpRequest.open("POST", "json_handler.php", true);
httpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
httpRequest.send( JSON.stringify(dummyData ));
这是我的控制台日志
【问题讨论】:
-
我在请求中看到状态 200。你到底想做什么?
-
我也看到了 200,但是为什么使用 jquery 的请求失败了,我没有从 done 方法得到警报,还有为什么我必须
file_get_contents('php://input');来获取 json -
php文件为空时会报错吗?
-
不,我没有收到任何错误
-
你的 php 文件想做什么?
标签: javascript php jquery ajax json