0

在我的 ajax(从远程服务器中提取 json 数据)中,我附加了一个 html div 以包含指向另一个页面的链接,该链接的类属性需要设置为一个名为“ajaxify”的函数。问题是这在整个应用程序中都可以正常工作。当它附加在 ajax 返回函数中时,就是发生错误的地方,因此这个函数不会加载。

老实说,有时它会加载..有时它不会!典型的 JavaScript。

另外,如果有人可以向我推荐一个很好的 Windows Safari 调试器,我将不胜感激……我目前正在黑暗中运行

这是代码

$.ajax({
    url: 'url',
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    timeout: 25000,
    success: function(data, status){
        $.each(data, function(i,item){
            var recipe = "<div class='icon-text'><a class='ajaxify' href='pages/onlineRecipe.html' onclick='$(setOnlineID("+item.id+"))' >"
                         +"<p><img alt='Image-alt' width='64' class='wrap-around' id='img"+item.id+"' />"
                         +"<strong>"+item.title+"</strong>"
                         +"<br/>"+item.desc+"</p></a></div>";

            $('#onlineList').append(recipe);
                var img = "#img" + item.id;
                $(img).attr('src', "data:image/png;base64,"+item.image);
        });
    },
    error: function(){
        output.text('Ha producido un error cargando el dato. Por favor, intèntalo de nuevo.');
    }
});

在这个阶段,我已经坚持了几个小时,这很烦人。任何帮助或建议将不胜感激!提前致谢。

编辑:这是在 jquerys onload function "$(document).ready(function(){" 中调用的,因此在 ajax 将 div 附加到链接之前,html 已完全加载。我想知道这是否与它有关??

4

1 回答 1

0

首先,在JSONP 请求的情况下,不使用.ajax调用调用错误处理程序

来自 jQuery 文档:

error(jqXHR, textStatus, errorThrown)

    Note: This handler is not called for cross-domain script and JSONP requests.

尝试这个

$.ajax({ url: 'url',
  dataType: 'jsonp',
  timeout: 10000,
  jsonp: "callback",
  jsonpCallback: callbackMethod,
});

function callbackMethod(jsonData) {
// this would be called on callback
}

查看此内容以获取更多参考:jQuery AJAX

于 2012-09-22T19:56:17.063 回答