代码改变世界

jquery ajax parseerror

2013-03-07 22:00  youxin  阅读(532)  评论(0编辑  收藏  举报

一个奇怪的问题:

$(function(){
    $("form").submit(function(){
        var text=$("#search").val();
        console.log(text);
        $.ajax({
            url:'translate.php',
            type:'GET',
            dataType:'json',
            data:{search:text},
            error:function(textStatus,errorThrown){ console.log("faild"+textStatus+" "+errorThrown);},
            success:function(data){
                console.log(data);
                $("#search").val(data);
            }
        });
        
        return false;
    });
            

translate.php:

<?php
header("Content-type:text/html;charset=utf-8");
$q=$_GET["search"];

$arr='str';

echo $arr; 类似这样

?>

 

报错说:

[object Object] parsererror 。可是ajax成功载入网页点击进去后可以显色结果。为什么?

因为你ajax请求的类型是json,而返回的类型是html。类型不一致导致解析错误

去掉ajax dataType:'json'就可以。

参考:http://stackoverflow.com/questions/5061310/jquery-returning-parsererror-for-ajax-request