我正在使用一个简单的ajax加载器来获取wordpress上的内容。
$("#page_preview").load("ajaxloader/", function(response, status, xhr) {
if (status == "error") {
alert("Sorry but there was an error");
}
else
{
$('#page_preview').fadeIn(300);
}
});
return;
当我加载嵌入了谷歌地图的特定帖子时,显然出现了错误但而不是进入if
语句,萤火虫表明它超出了此代码。 if
或else
都未命中。
使用eclipse调试器我发现页面加载成功,但是当它将数据返回到.load()
方法时,最后一次中断。
关于可能发生的事情的任何想法?
答案 0 :(得分:4)
<script>
// as of jQuery 1.5.x ++
var pagePreview = $("#page_preview");
$.get("ajaxloader/").success(
function(response, status, jqXhr) {
alert("Success!");
pagePreview.empty();
pagePreview.append(response);
// i feel you need to parse the response for the google map div, and perform another $.get() of the google url?
}).error(function(response, status, jqXhr) {
alert("These are not the droids you are looking for. move along.");
}).complete(function(response, status, jqXhr) {
alert("Complete!");
});
</script>
jQuery.load()会告诉您文档。 .load相当于这个
除了它之外,它大致相当于$ .get(url,数据,成功) 是一个方法而不是全局函数,它有一个隐含的 回调函数。当检测到成功的响应时(即,何时) textStatus是“success”或“notmodified”),。load()设置HTML 匹配元素的内容到返回的数据。
您需要在$.ajax( complete:function(responseText, textStatus, XMLHttpRequest)){});
注册并检查textStatus
值。如果没问题,请自行将数据加载到目标$('selector')
。或者通过在chrome(ctrl + shift + j)或firebug中的某个网络标签中观看您的网络xmlHttpRequests并使用.load()
$('selector').load( 'url', function(response, status, xhr){})
答案 1 :(得分:0)
调试此方法的一种简单方法是使用firebug控制台选项卡查看XHR请求。请求URL可能存在问题,您可能无法获得任何数据,或者您可能会收到错误或其他内容。使用firebug,您可以轻松查看服务器返回的内容。
由于.load仅在成功时加载,您可以添加
console.debug("In .load function");
在功能的乞讨。再次,使用firebug进行检查,您可以找出.load回调是否实际被触发。
答案 2 :(得分:0)
使用$ .ajax函数 例如
$.ajax({
url: "test.html",
context: document.body,
success: function(){
//when Successfully executed
},
error: function(){
//When Error Fires
}
});