我们如何在Firefox中调用AJAX
How can we call AJAX in Firefox
我正在使用XMLHttpRequest
进行AJAX调用。
它在IE7中运行良好,但当我在Firefox中尝试同样的操作时,我无法通过response.write
将其恢复
我正在使用以下功能:
<script type="text/javascript">
function ddSelect_Change() {
var xmlhttp;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
xmlhttp.onreadystatechange = function () {
//alert(xmlhttp.responseText);
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
}
}
var url = "http://" + location.hostname + "Locationurl?Method=methodname";
xmlhttp.open("POST", url);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send();
}
添加
我有两个独立的web应用程序,一个是tridion web应用程序另一个是自定义web应用程序。我正在进行从tridion web应用程序到自定义web应用程序的交互。这两个url都有不同的域。状态我在firefox中得到0,而对于readystate,我在警报中没有得到(3)。
到目前为止显示的代码应该可以在Firefox中使用。Firefox支持XHR。
这可能会有所帮助:https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started
更新:
onreadystatechange
在AJAX调用过程中被激发了好几次,所以您可能想将回调扩展到以下内容:
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4) {
if (xmlhttp.status === 200) {
alert(xmlhttp.responseText);
} else {
alert('There was a problem with the request.');
}
}
}
xmlhttp.readyState === 4
验证请求是否已完成,这样您就不会试图在收到响应之前向其发出警报。xmlhttp.status === 200
验证您是否从服务器收到了200 OK
,以确保没有服务器端错误或URL不正确。
您是否考虑过使用像jQuery这样的库?它已经为您解决了这些问题。
如果您正在开发SDL Tridion GUI扩展,请查看PowerTools项目中的大量示例。(http://code.google.com/p/tridion-2011-power-tools/)
相关文章:
- 阻止在select2单击时调用ajax
- 调用Ajax并返回响应
- Ajax:只在元素存在的情况下调用Ajax
- PHP,MySQL,AJAX-调用AJAX结果后,Bootstrap CSS样式不会显示
- 调用Ajax内部的函数
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- 我们如何在Firefox中调用AJAX
- Rails:通过调用Ajax重定向
- Cookie 在 Spotify (Javascript) 中调用 ajax 后未保存
- 通过调用 Ajax 来设置 struts bean 值
- 无法从服务器中的 php 调用 Ajax 函数
- 如何在附加表行时调用 ajax
- 在facebook用户发送邀请请求后调用ajax调用
- 定期调用Ajax
- 调用Ajax生成的表单的值
- 无法调用ajax函数
- 在调用AJAX之后显示ng控制器的内容;作为“;作用
- CSS,Java脚本在php中调用ajax后无法正常工作
- 成功调用AJAX后,Toast Growl不会出现
- 如何在调用AJAX时记录或捕获信息和错误