使用jQuery JSON时出错

时间:2015-03-06 00:35:55

标签: jquery json

尝试创建一个登录功能,它会说登录请等待,当它在后面执行PHP废话时,它会说出你做错了所会给出的所有错误。除此之外,它会重定向到后端页面。并只显示纯文本。

    function login(){
    $('#infobox').fadeIn();
    $('#infobox').html("Logging in, please wait ...");
    dataString = $('#login').serialize();
    var postURL = $('#login').attr("action");
    $.ajax({
        type: "POST",
        url: postURL,
        data:dataString,
        dataType:"json",
        cache:false,
        success:function(data){
            if(data.err){
                $('#errbox').fadeIn();
                $('#errbox').html(data.err);
            }else if(data.msg){
                $('#infobox').fadeIn();
                $('#infobox').html(data.msg);

                var delay = 2000;
                window.setTimeout(function(){          
                    location.reload(true);
                }, delay);
            }
        }
    });
    return false;
};

就在这里是PHP

//retun errors and msg's
$return_json = array();

if($err==""){ $return_json['msg'] = $msg; }
else{ $return_json['err'] = $err; }
echo json_encode($return_json); 
exit;

这是PHP的“JSON”部分,但是让我们说它会让你登录并欢迎来到我这里的网站。

$msg = 'You have successfully logged in, welcome '.$userInput.'';

它将显示此结果。

{"msg":"You have successfully logged in, welcome Cameron"}

请记住,这就是所有它会显示的,只是这样的纯文本。我已经完成了一些人建议的Header javascript代码,没有任何帮助。

1 个答案:

答案 0 :(得分:0)

尝试在您的PHP文件中将application/json设置为Content-type

最好的办法是在任何可以显示任何错误或其他内容的代码之前设置它。

所以只需将其添加到您的login.php文件的开头。

header("Content-type: application/json");