我在写一个显示指定城市餐馆的网页。 后端是使用yelp API获取结果并将其作为JSON转发的节点服务器。jquery ajax在点击功能中获取请求不起作用
在javascript文件中,当我调用document.ready()
函数中的ajax get方法时,它工作正常。控制台显示XHR finished loading
。
但是,当我在jquery里面运行它时点击这样的函数,它不起作用。
$(document).ready(function(){
$('#btn').click(function(){
var city = $('#city').val();
var post = $.ajax({
url: "/query?city=" + city,
type: "GET"
});
post.done(function(json){
window.alert('ok');
});
post.fail(function(json){
window.alert('failed');
});
});
});
它提醒“失败”和控制台说:XHR failed loading: GET "http://localhost/query?city=colombo".
但在节点服务器所花费的要求和流程。当我直接将http://localhost/query?city=colombo
粘贴到浏览器的地址栏或邮递员时,它会收到请求。
能否请您解释一下我为什么只失败的jQuery单击功能里面,但能正常工作之外它...
如果我暂停JavaScript执行了几秒钟,继续它,给节点服务器发送JSON的时间,它会提醒'ok'。 –
尝试将ajax调用放入超时并查看是否再次失败 –
Html在这里[link](https:// jsfiddle.net/rmksstr1/) –