对此我有些不高兴。我有一个像这样的ajax呼叫:
function genericname()
{
var domain = $('#input').val();
var sendData = {
'domain': domain
};
var promise = $.ajax(
{
type: 'POST',
url: '/functions.php',
data:
{
module: 'modulename',
operation: 'functionname',
parameters: sendData
},
dataType: 'json'
}).promise();
promise.then(function(data)
{
console.log(data);
return data;
});
promise.fail(function(data)
{
console.log(data);
});
}
现在的问题是,在调试时我注意到promise.then和promise.fail都被跳过了。我要输出的php处理是正确的。实际上,当我在调试工具的“网络”标签中查看时,响应说的是真的。
有人可以解释这里的错误吗?
编辑:php函数输出的结果是json_encoded
此函数在另一个ajax调用的.then部分中被调用
答案 0 :(得分:1)
在ajax请求结束时删除.promise:
var domain = $('#input').val();
var sendData = {
'domain': domain
};
var promise = $.ajax(
{
type: 'POST',
url: '/functions.php',
data:
{
module: 'modulename',
operation: 'functionname',
parameters: sendData
},
dataType: 'json'
})
答案 1 :(得分:0)
该问题现已解决,这是我解决的方法。
该函数需要返回一个布尔值,该布尔值用于另一个ajax调用的另一个.then语句的if语句中,以更改某些html。 最后,如果使用此功能,我将在.then部分放置html更改。
希望我可以帮助某人此信息。