javascript - 调用返回 JSON 的 PHP 会返回错误,但我可以看到响应

标签 javascript php json ajax

这是我用来对 PHP 进行 AJAX 调用的 javascript:

$(document).ready(function(e) {
$(function(){
        $.ajax({
            type:'GET',
            dataType: 'jsonp',
            data: {
                country: "uk"
            },
            url: 'http://api.mysite.uk/advertorial/index.php',
            success: function (response){
                var result = $.parseJSON(response);
                console.log(result);
            },
            error : function () {
                console.log('Error');
            }
        });
    });
});

它返回一个如下结构的 JSON:

{"id":"1","name":"test","country":"uk","header":"Header","pre_cta_text":"Pre CTA","cta_text":"CTA text","cta":"CTA","img":null,"active":"1"}

即使调用出现错误,我也可以看到它返回了上面的 JSON。我特别在浏览器控制台中收到的错误是:

Uncaught SyntaxError: Unexpected token : index.php?callback=jQuery32103297264247416809_1516181997373&country=uk&_=1516181997374:1

最佳答案

您指示 jQuery 请求 JSONP 并自动解码它:

dataType: 'jsonp',

然后你获取 jQuery 的解码数据并将其作为 JSON 处理,这不是也从来没有:

success: function (response){
    var result = $.parseJSON(response);
    console.log(result);
}

关于javascript - 调用返回 JSON 的 PHP 会返回错误,但我可以看到响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48297964/

相关文章:

javascript - AJAX 返回嵌入 JSON 的 html 页面

javascript - 在 chrome 和 safari 中附加 onload 事件时 window.open 不起作用

Javascript - 使用代码单击图像

PHP:如何从别名中获取完全限定的类名?

php - mov 和 mp4 文件在浏览器中播放

php - 从数据库中存储的 NSArray 中删除字符

java - jsonObject 无法转换,因为 jsonArray 类型不匹配

javascript - 如何返回javascript文件中javascript变量的结果

javascript - Android 2.2 SDK - 不安全的 JavaScript 尝试使用 URL 访问框架 - Google Checkout

php - 将 PHP 多维数组返回到 Javascript/AJAX