Javascript Ajax获取请求,为什么成功函数不打印?
我有一个函数,它对给定的id执行GET请求:Javascript Ajax获取请求,为什么成功函数不打印?,javascript,jquery,ajax,get,Javascript,Jquery,Ajax,Get,我有一个函数,它对给定的id执行GET请求: var findById= function(id) { console.log('findById: ' + id); $.ajax({ type: 'GET', url: rootURL + '/' + id, dataType: "json", success: function(data){ console.log('findById su
var findById= function(id) {
console.log('findById: ' + id);
$.ajax({
type: 'GET',
url: rootURL + '/' + id,
dataType: "json",
success: function(data){
console.log('findById success: ' + data.name);
currentRaceEntry = data;
renderList(currentRaceEntry);
}
});
};
当我输入sitename/rest/entries/8
时,它将返回一个包含所请求对象的xml的页面(如预期的那样)。(我可以显示此代码,但我不认为存在问题)。当我执行此请求时,控制台显示:
findById 8
我的问题是为什么它不显示console.log('findById success:'+data.name)代码>?xml显示在浏览器中,在我看来它是成功的。那么为什么不调用success函数呢?谢谢
编辑
这就是它看起来的样子:
浏览器中的控制台为空如果ajax请求返回XML数据,则需要将数据类型
设置为“XML”
此时,success
函数中的data
对象是一个XML片段,而不是一个javascript对象,您需要对其进行处理。data.name属性不存在。dataType:“json”,
。。。将其更改为xml。打开控制台并转到“网络”选项卡。单击XHR响应并检查它。您很可能会发现响应的代码不是200。@Sirko,我试过了,但没有解决问题。@bagonyi您能解释一下控制台在哪里吗?browser/server?将错误:function(){}
添加到ajax调用中,并在其中添加console.log()。