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

时间:2015-04-06 05:30:07

标签: ajax json zend-framework2

尝试访问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翻译

1 个答案:

答案 0 :(得分:0)

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

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