关于在$ .get()中获取响应的问题

时间:2015-01-10 18:00:41

标签: javascript jquery ajax

$('#requestButton').click(function() {
    $.get('ajax.php', function(data) {
        alert(data);
    });
});

alert()没有显示。问题是什么?

2 个答案:

答案 0 :(得分:3)

问题是您的服务器声称:

content-type: application/javascript

但是你要发回一份JSON文件。当jQuery从服务器返回(它认为是)一个JavaScript程序时,jQuery不会填充data

您需要发送正确的内容类型,即application/json

使用getJSON或指定"json"是非常难以告诉jQuery不相信内容类型并以不同的数据格式进行解析,但您应该修复服务器,以便相反地说明内容。

答案 1 :(得分:1)

而不是:

$.get

使用:

$.getJSON

正如您在评论部分中提到的,返回的数据是json

或在dataType来电中添加$.get()

$.get( "ajax.php", function( data ) {
     console.log(data);
}, "json" ); //<-----------add dataType here