繁体   English   中英

jQuery AJAX失败

[英]JQuery AJAX failing

我的AJAX调用也会执行并返回我想要的东西,但不会在.done中返回它。

 $(document).ready(function() {
        $("#submit").click(function(){

            var formData = $("#callAjaxForm").serialize();

            $.ajax({
                type: "POST",
                url: "JSON_MDB_UPDATE.php",
                data: formData
            })
            .done(function(data) {
                alert( "Done: " + data );
                data = $.trim(data);
                $("#notification").text(data.responseText);
            })
            .fail(function(data) {
                alert("Failed: " + data);
                console.log(data);
            })
            .always(function(data) { 
                $("#notification").text(data.responseText);
            });

            return false;
        });
    });

这是我的控制台结果:

的console.log

我的PHP只是一个简单的示例echo:

<?php

header('content-type: application/json; charset=utf-8');
header("access-control-allow-origin: *");


$firstName = $_POST[firstName];
$lastName = $_POST[lastName];

echo("My First Name: " . $firstName . " Last Name: " . $lastName);
?>

header('content-type: application/json; charset=utf-8');

这表示您正在输出JSON,因此jQuery会尝试将其解析为JSON,如果无法解析,则会陷入错误状态。

echo("My First Name: " . $firstName . " Last Name: " . $lastName);

不是 JSON

改为输出JSON。

echo json_encode(Array("My First Name" => $firstName, "Last Name" => $lastName));

或者,如果您不想要结构化数据:不要说您正在发送JSON:

header('content-type: text/plain; charset=utf-8');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM