Ajax.request会引发语法错误,但会返回正确的值

时间:2009-05-28 16:06:26

标签: javascript ajax syntax prototypejs

我有一堆执行得很好的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());
        }
    });
}

编辑:这似乎只会在第一次调用时抛出错误。如果我清除控制台,我不会继续出错。

2 个答案:

答案 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', ...

它会更好。

编辑,啊 - 我应该学会阅读。它确实有效,但会引发语法错误。语法错误!=没有实现属性...对不起!但无论如何我会留下我的帖子。 ;)