Javascript 使用XMLHttpRequest进行Mozilla扩展开发
在我的应用程序中使用Ajax调用php文件时遇到一些问题 Mozilla扩展。 javascript(Ajax)和php都位于/myextension/content目录,我使用Javascript 使用XMLHttpRequest进行Mozilla扩展开发,javascript,ajax,firefox,Javascript,Ajax,Firefox,在我的应用程序中使用Ajax调用php文件时遇到一些问题 Mozilla扩展。 javascript(Ajax)和php都位于/myextension/content目录,我使用 function ajaxFunction(){ var req = new XMLHttpRequest(); req.open('GET', 'myphp.php', true); req.onreadystatechange = function (aEvt) { if (r
function ajaxFunction(){
var req = new XMLHttpRequest();
req.open('GET', 'myphp.php', true);
req.onreadystatechange = function (aEvt) {
if (req.readyState == 4) {
if(req.status == 200)
alert(req.responseText);
else
alert("Error\n");
}
};
req.send(null);
}
函数ajaxFunction(){
var req=新的XMLHttpRequest();
open('GET','myphp.php',true);
req.onreadystatechange=功能(aEvt){
如果(req.readyState==4){
如果(请求状态==200)
警报(请求响应文本);
其他的
警报(“错误”);
}
};
请求发送(空);
}
,我的php看起来像
<? php
echo "Server Received with thanks!";
?>
我一直在获取“警报(“错误”);”。
我做错什么了吗?Firefox格式良好的Ajax代码:
var URL="http://yourdomain.com/Work.php?val=Test";
var objXmlHttp = null;
try
{
objXmlHttp = new XMLHttpRequest();
}
catch(e)
{return;}
objXmlHttp.onreadystatechange=function()
{
if ((objXmlHttp.readyState == 4 || objXmlHttp.readyState == "complete") && objXmlHttp.status == 200)
{
//Write code for success
}
else if (objXmlHttp.status == 404)
{
//OnError
}
else
{
//OnWait
}
}
objXmlHttp.open("GET", URL, true);
objXmlHttp.send(null);
Firefox格式良好的Ajax代码:
var URL="http://yourdomain.com/Work.php?val=Test";
var objXmlHttp = null;
try
{
objXmlHttp = new XMLHttpRequest();
}
catch(e)
{return;}
objXmlHttp.onreadystatechange=function()
{
if ((objXmlHttp.readyState == 4 || objXmlHttp.readyState == "complete") && objXmlHttp.status == 200)
{
//Write code for success
}
else if (objXmlHttp.status == 404)
{
//OnError
}
else
{
//OnWait
}
}
objXmlHttp.open("GET", URL, true);
objXmlHttp.send(null);
您真的在运行PHP服务器吗?尝试发出比“错误”更有用的警报,如HTTP状态代码。这会给你一些信息。或者,也可以直接在浏览器中加载页面,看看您得到了什么。谢谢,只需再次阅读页面(),就错过了“非HTTP同步请求”示例。所以我要做的就是从本地文件系统读取一个文件,状态=0表示成功。我真正需要的是从扩展中的javascript向服务器发出请求并得到响应,就像Matt posted一样,根本没有运行PHP服务器。在扩展开发中,是否有其他方法可以与后端服务器通信?我发现,希望这能满足我的请求。您是否实际运行PHP服务器?尝试发出比“错误”更有用的警报,如HTTP状态代码。这会给你一些信息。或者,也可以直接在浏览器中加载页面,看看您得到了什么。谢谢,只需再次阅读页面(),就错过了“非HTTP同步请求”示例。所以我要做的就是从本地文件系统读取一个文件,状态=0表示成功。我真正需要的是从扩展中的javascript向服务器发出请求并得到响应,就像Matt posted一样,根本没有运行PHP服务器。在扩展开发中是否有其他方法可以与后端服务器通信?我发现,希望这能满足我的要求。