我有一堆执行得很好的Ajax请求,但最终我的浏览器出现语法错误。
有人可以在下面看到我的请求有什么问题吗?
function getName(refId)
{
var resp = '';
new Ajax.Request('/servlet/GetName',
{
method:'post',
parameters: {'requestType':'ref',
'value':refId},
onSuccess:function(transport)
{
setName((String(transport.responseText)).trim());
}
});
}
编辑:这似乎只会在第一次调用时抛出错误。如果我清除控制台,我不会继续出错。
答案 0 :(得分:4)
我在Firefox中使用xmlhttprequest获取语法错误也可以查询非xml。 Firefox尝试将响应解析为xml,并记录错误,但仍然继续工作。
在我的情况下,我将此添加到服务器端的php:
header('Content-Type:text / plain');
有人在此报告了客户端修复:
jQuery .getJSON Firefox 3 Syntax Error Undefined
答案 1 :(得分:0)
根据W3Schools,窗口对象中没有root属性。也许如果你使用
new Ajax.Request(document.domain + '/servlet/GetName', ...
它会更好。
编辑,啊 - 我应该学会阅读。它确实有效,但会引发语法错误。语法错误!=没有实现属性...对不起!但无论如何我会留下我的帖子。 ;)