Javascript jqueryajax不起作用
这是我调用ajax的函数:Javascript jqueryajax不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我调用ajax的函数: var sendAjax = function(type, data, callback) { $.ajax({ url: homepage + 'server_ajax.php', type: 'POST', data: { type: type, data: JSON.stringify(data) } }).done(function(data) { console.log(data);
var sendAjax = function(type, data, callback) {
$.ajax({
url: homepage + 'server_ajax.php',
type: 'POST',
data: {
type: type,
data: JSON.stringify(data)
}
}).done(function(data) {
console.log(data);
callback(true, JSON.parse(data));
}).fail(function() {
console.log('NO');
callback(false, {});
});
};
homepage
包含有效的URL。它是同一个域,所以这不是问题所在server\u ajax.php
只有以下内容:echo“awdawda wawdawd”代码>-仅此而已(测试目的)
$.ajax…
和控制台日志中。第一个断点起作用,但函数done
和fail
从未运行require.js
,这个js文件中的所有其他东西都使用jQuery运行良好server\u ajax2.php
),控制台会打印错误404-就像它会那样数据类型:“json”
或删除数据
对象有什么好主意,我该怎么做?我也在这个网站上尝试了一些答案(不要将此标记为重复,我尝试了一切),但没有任何帮助。您是否尝试在
服务器\u ajax.php
文件上执行以下操作:
echo json_encode('awdawda wawddawawd');
header('X-PHP-Response-Code: 200', true, 200);
这将响应编码为JSON,以便JavaScript代码可以读取内容,并为页面提供标准的成功标题(
200 OK
),以便$。ajax
代码知道查询成功。在这里尝试一下,因为获取数据可能是您的成功-失败功能
$.ajax({
url: homepage + 'server_ajax.php',
type: 'POST',
dataType : 'json',
contentType: 'text/plain',
data: {
type: type,
data: JSON.stringify(data)
},
success: function(data) {
console.log(data);
callback(true, JSON.parse(data));
},
error: function() {
console.log('NO');
callback(false, {});
}
});
你能告诉我确切的问题是什么吗?当您调用此函数时,ajax调用是否失败或浏览器控制台中是否存在任何错误?您是否将我的问题读到了最后?打印
console.log(数据)代码>完成后。而且,浏览器控制台中没有错误,这是完全清楚的。哇,多么礼貌的海报啊。让我更想帮助你!如果您使用的是ChromeOpenDeveloperTools(F12),请在运行ajax调用之前打开网络选项卡。执行ajax调用,您将在下表中看到一个新条目。您应该能够看到ajax调用本身的状态以及从服务器收到的响应。您确定在代码中的某个地方您甚至调用了sendAjax
函数吗?抱歉,这不是答案,只是猜测。谢谢,但没有帮助。成功,错误,从jQuery 1.8开始,不推荐使用完整函数。它们最终将被移除。Done、fail和always应该用在它们的位置上。正如@Jon所说的,这些函数被弃用。事实上,这和我的一样。但看看问题的评论,我已经解决了。