尝试访问ajax发送给php的JSON变量时遇到问题。 Envíolalaible“correo”:
<script>
$("#recuperar").click(function () {
var url1 = "<?php echo $this->url('login',array('controller'=>'Login', 'action'=>'recuperar' )) ?>";
var consulta = $("#correo").val();
$.ajax({
type: "POST",
url: url1,
data: {"correo": consulta},
dataType: "json",
beforeSend: function () {
},
error: function (jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
},
success: function (data) {
$("#mostrar").empty(data);
$("#mostrar").append(data['error']);
}
});
});
我的控制员:
public function recuperarAction() {
$em = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager');
if ($this->request->isXmlHttpRequest()) {
$correo = $_REQUEST['correo'];
print_r($correo);
当我尝试print_r($email)
返回此错误时:请求的JSON解析失败。
这也适用于print_r(some_value)
,如果我尝试打印任何数据,则会返回相同的错误。
感谢帮助,抱歉,我的英语是纯粹的Google翻译
答案 0 :(得分:0)
首先,您应将数据类型设置为application/json
。您当前拥有的json
对Content-Type
数据的json
声明不正确。
如果这不能解决您的问题,请尝试使用json
验证程序验证您的json
数据,例如 json lint 。