我正在尝试使用AJAX执行PHP文件,AJAX应该更新txt文件
这是我的javascript
function getXMLHttp()
{
var xmlHttp
try
{
//Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
//Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert("Your browser does not support AJAX!")
return false;
}
}
}
return xmlHttp;
}
function MakeRequest()
{
var xmlHttp = getXMLHttp();
var host = window.location.hostname;
var dir1=window.location.pathname.split("/")[1];
var dir2=window.location.pathname.split("/")[2];
var p = document.getElementById(\'CTI_IP\').value;
var url=\'http://\'+host+\'/\'+dir1+\'/modules/company/include/file.php?var=\'+p;
xmlHttp.open("POST",url,true);
if (xmlHttp.readyState==4)
{
xmlHttp.send();
}
}
网址很好,我提醒它,复制粘贴链接,php文件工作正常并更新txt文件,但它不能在ajax中工作?为什么
谢谢!!
答案 0 :(得分:0)
您遇到语法错误:
var p = document.getElementById(\'CTI_IP\').value;
^HERE
(而且类似的分散在各处)。
这应该出现在浏览器的JavaScript错误控制台中。
答案 1 :(得分:0)
构建URL时,构建错误。您正在逃避不需要转义的报价。它应该按如下方式构建:
var url = "http://" + host + "/" + dir1 + "/modules/company/include/file.php?var=" + p;
由于某些未知原因,您还在getElementById调用中转义引号。它应该如下调用:
var p = document.getElementById("CTI_IP").value;
您希望转义引号的唯一时间是您希望它们包含在您的字符串中。在这些情况下,你不应该对它们进行转义,因为它们表示一个字符串 - 它们并不意味着包括在内。
我建议您稍微研究字符串在Javascript中的工作方式。
修复这些错误后,请移除xmlHttp.send()
周围的if块。
你有:
if (xmlHttp.readyState==4)
{
xmlHttp.send();
}
但应该只有
xmlHttp.send();
最后,由于您未在上面的示例中包含它,我假设您实际上并未在任何地方调用MakeRequest()
函数。您必须在代码中的某处调用该函数才能使其实际执行该函数。
只需按如下方式调用该函数:
MakeRequest();