0

这是我的代码:

...
$('#collection_menu ul li').click(function(e) {
  e.preventDefault();
  e.stopPropagation();

  shoesApparaissent();
});

...

function shoesApparaissent() {

  $.ajax({
    async:true,
    url : hrefCollection,
    type : 'GET',
    dataType : 'json'
  }).success(function(data) {

console.log("data: " + data);

  }).fail(function(e, str) {

console.log(e+'\n'+str);

});
...

在我重新加载包含代码的页面之前,此代码似乎适用于 FF、Safari、Opera 和所有其他导航器(Windows 7 上的 IE 除外)。

当我触发点击事件时,会调用函数“shoesApparaissent()”,并且 $.ajax 不会触发成功或失败事件(控制台中不会出现任何内容)。

我不确定这里的问题是什么,有什么想法吗?

4

1 回答 1

0

您使用的是什么版本的 jQuery?对于这个答案,我假设您将使用更新的版本,如 1.8。在 jQuery 1.5+ 中,$.ajax()方法返回一个实现Promise接口的对象。

而不是使用.success()回调(在 jQuery 1.8 中已弃用),.done()而是使用。

$.ajax({
    url: hrefCollection,
    type: 'GET',
    dataType : 'json'
}).done(function(data) {
    console.log("data: " + data);
}).fail(function(e, str) {
    console.log(e+'\n'+str);
});
于 2013-01-10T12:01:52.267 回答