请求的JSON解析失败(ajax)+zf2



我在尝试访问ajax发送到php的JSON变量时遇到问题。Envío la variable"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('DoctrineORMEntityManager');
    if ($this->request->isXmlHttpRequest()) {
    $correo = $_REQUEST['correo'];
    print_r($correo);

当我尝试print_r($email)时,返回此错误:请求的JSON解析失败。

如果到print_r(some_value),如果我尝试打印任何数据,也会返回相同的错误。

感谢您的帮助,对不起,我的英语是纯谷歌翻译

首先应该将数据类型设置为application/json。您当前拥有的json不是json数据的正确Content-Type声明。

如果这不能解决您的问题,请尝试使用json验证器验证json数据,例如json-lint

最新更新