【问题标题】:Getting JSON response from the server but can't display as HTML with Jquery从服务器获取 JSON 响应,但无法使用 Jquery 显示为 HTML
【发布时间】:2013-10-08 00:01:05
【问题描述】:

我正在构建一个移动应用程序,我构建了一个 PHP API,它从 mysql db 呈现数据并将其编码为 JSON

我用 Jquery ajax 调用这个 api 来将来自 json 输出的记录显示为 JSONP,并在我的文档中的成功函数中呈现它。

到目前为止,当我通过 $.ajax 发出请求时,我正确地获取了 JSON,并且我可以在我的 firebug 中看到响应中的数据,但另一方面,ajax 函数会触发错误而不是成功。

我在这里有一个演示代码:jsfidle

这是我的 $.ajax 调用:

$(document).on("pageinit","#myPage", function() {   
    $("#autocomplete").on("listviewbeforefilter", function ( e, data ) {
        var $ul = $( this ),
            $input = $( data.input ),
            value = $input.val(),
            html = "";
            $ul.html( "" );            
            var dataString = 'keyword='+value;
        if (value.length > 2 ) {            
            $.mobile.loading("show");                       
            $.ajax({
                type: "GET",
                url: "http://example.com/search.php",
                dataType: "jsonp",
                jsonpCallback: 'jsonpCallback',               
                cache:true,             
                data: dataString,
                success: function(data) {               
                $.mobile.loading("hide");                                       
                alert(data);                     
                }
            })         
        }
    });
});

如果您检查网络面板,您会发现它成功并且有数据来了。

请多多指教。 非常感谢

【问题讨论】:

  • 我应该输入什么,这样我就不会得到No Results for :"bas",而是得到你所说的这个JSON对象?该死的,我不是巫师!
  • 尝试输入“oyo”或“above”

标签: javascript php jquery json jquery-mobile


【解决方案1】:

您的响应不包括响应中的回调 jsonpCallback(),我看到的响应很简单 ({"name": ... })

【讨论】:

  • 我现在有回调函数,但是当我得到一组 JSON 数据时,它是一个有效的 JSON 代码,但是当响应带有多个记录时,JSON 语法变得无效。我的 PHP JSON ENCODE 是这样的:'echo $_GET[$keyword]。 '['.json_encode($row).']';'当我在响应中获得多个值时,这会产生无效的语法,例如“第 11 行解析错误:...chord”:“Am”}][ {“nam ---------- -----------^ 期待 'EOF'、'}'、','、']'
猜你喜欢
  • 2015-06-28
  • 1970-01-01
  • 2012-08-01
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 2017-12-20
  • 2015-08-01
相关资源
最近更新 更多