我只是编写一个小型Ajax框架,用于小型项目的可重用性,我遇到了问题.基本上我NS_ERROR_ILLEGAL_VALUE
发送请求时出错,我不知道发生了什么.
HTML页面(修剪但显示错误)
Ajax Test
PHP文件:
PROLOG; $XML .= ""; $XML .= " "; header("Content-Type: text/xml"); echo $XML; ?>"; $XML .= " "; $XML .= "Gary "; $XML .= "Willoughby "; $XML .= "35 "; $XML .= ""; $XML .= " "; $XML .= "Sara "; $XML .= "Gostick "; $XML .= "35 "; $XML .= "
完整的错误:
uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXMLHttpRequest.open]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: http://www.kalekold.net/ajax/ :: AjaxRequest :: line 63" data: no] Line 0
我只是看不出哪里出错了,有什么想法吗?
"组件返回失败代码:0x80070057(NS_ERROR_ILLEGAL_VALUE)"的异常是由传入open方法调用的非法值引起的.
查看代码,我发现拼写错误:
this.RequestedMethod = p_RequestMethod; this.DestinationURL = p_DestinationURL; this.XMLHttpRequestObject.open(this.RequestMethod, this.DestinationURL);
看到this.RequestedMethod属性设置为p_RequestMethod,this.RequestMethod被传递给"open"方法的调用.
另外,我建议使用开源XMLHttpRequest.js - 符合标准的跨浏览器XMLHttpRequest对象实现,而不是创建自己的包装器,它还修复了大约20个浏览器的本机XMLHttpRequest对象实现的错误.