jquery ajax调用不起作用?!firefox还是xss问题?

jquery ajax调用不起作用?!firefox还是xss问题?,jquery,ajax,firefox,proxy,call,Jquery,Ajax,Firefox,Proxy,Call,我的问题是:在firefox中我没有得到回应。在工业工程中,它工作得很好。 我希望对本地脚本进行ajax调用,以获取纯文本或其他形式的信息。但这行不通。我认为交叉脚本在这一点上应该不是问题,或者 javascript代码很简单: var targetUrl = "http://localhost/jQueryProxy.php"; var parameters = ""; // later $.ajax({ type: "GET", async: true, url: ta

我的问题是:在firefox中我没有得到回应。在工业工程中,它工作得很好。 我希望对本地脚本进行ajax调用,以获取纯文本或其他形式的信息。但这行不通。我认为交叉脚本在这一点上应该不是问题,或者

javascript代码很简单:

var targetUrl = "http://localhost/jQueryProxy.php";
var parameters = ""; // later

$.ajax({    
  type: "GET",
  async: true,
  url: targetUrl,
  data: parameters,
  success: function(param1, param2){
    alert(param1);
  }
});
还有php代码:

<?php
   header('Content-type: text/xml'));
   echo "test";
?>
试试
var targetUrl=“/jQueryProxy.php”
此外,您还可以检查Firefox的javascript控制台以查找错误:Ctrl+Shift+J

您还可以尝试通过添加处理程序来查找jQuery的Ajax错误消息:

更新:我做了一些测试,似乎Firefox阻止了从本地文件到web的Ajax(本地主机也是如此),但没有抛出异常。使用
警报($('*',param1.text())
at
success
显示当前文档的内容,这很奇怪。
将XML作为本地文件也不起作用,FF和IE的行为是不一致的——它们的行为非常不同。
最好将html放在服务器(localhost)上,与xml文件(此处为80)位于同一端口上。

此外,当您的XML有效时,考虑添加<代码>数据类型:“XML”< /C> > < /P> < P>这是因为内容类型是“代码>文本/XML ”,但它不是有效的XML。 如果希望它是XML,请将echo更改为:

<?xml version="1.0" encoding="UTF-8"?>
<foo>test</foo>

测试

这似乎对FF有效:

var targetUrl = "http://localhost/jQueryProxy.php";
var parameters = ""; // later

$.ajax({    
  type: "GET",
  async: true,
  url: targetUrl,
  data: parameters,
  success: function(param1, param2){
    alert($(param1).find("foo").text());
  }
});
php看起来是这样的:

<?php
   header('Content-type: text/xml');
   echo '<?xml version="1.0" encoding="UTF-8"?><foo>test</foo>';
?>

致以最良好的祝愿


这是一个XSS问题。一般来说,本地html页面的沙盒比公共html页面多得多。

问题是什么?虽然您使用了五个问号,但我看不到任何问题。我删除了几个问号。我的主要问题是使用javascript调用html不在服务器上。。。我只是双击了一下。当html在本地主机根目录中时,所有ajax都可以工作!谢谢,就这样。我还认识到:用js调用html的程序必须在本地主机上!
<?php
   header('Content-type: text/xml');
   echo '<?xml version="1.0" encoding="UTF-8"?><foo>test</foo>';
?>