我正在创建一个应用程序而且我无法发出一个承诺,我将代码分解为一个仍然不起作用的简单示例,我正在使用EasyPHP ......
ajaxDialog = function( destiny ) {
// Promise to let me know when complete
return $.ajax({
url: destiny,
dataType: 'json',
}).promise();
};
teste = ajaxDialog('data.json');
teste.done( function() { alert("sadasassa"); })
答案 0 :(得分:2)
您的ajax失败并转到失败处理程序。如果您执行以下操作,您将看到警报。
// This does get called
teste2.fail( function() { alert("sadasassa"); });
这是一个证明如果你到达服务器的jfiddle,它被称为http://jsfiddle.net/L6bJ2/367/
$(function() {
ajaxDialog = function( destiny ) {
// Promise to let me know when complete
return $.ajax({
url: '/echo/json/',
dataType: 'json',
}).promise();
};
teste2 = ajaxDialog('data.json');
teste2.done( function() { alert("sadasassa"); });
});
答案 1 :(得分:0)
试试这个:
when(ajaxDialog('data.json')).then(function() { alert("aaaa"); });
答案 2 :(得分:0)
检查这是否有效:
return $.ajax({
url: destiny,
dataType: 'json',
}).promise(function(){alert("This is a test");});
我不知道会有什么改变,但一切都值得尝试!
答案 3 :(得分:0)
一个仍然不起作用的简单示例
JavaScript效果很好。可能您的服务器不起作用,也不会从data.json
网址返回JSON文档。
使用
teste.done( function() {
alert("sadasassa");
}).fail( function(x, s, e) {
alert(s+": "+e);
});
并使用browser devtools Networks
标签进行调试。