一个简单的ajax例子,但是为什么提示我“拒绝访问”? 本帖最后由 stneo1990 于 2013-01-03 16:51:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 php需要搭建服务器访问,你是直接双击运行或者直接拖拽运行的吧。。这样找不到问价就会报错,并且你先判断的是xmlhttprequest的支持,ie本地测试使用xmlhttprequest对象创建时也会报错。IE7,IE8浏览器创建XMLHTTpRequest请求本地资源出现access is denied拒绝访问 根据文章中说的,我关闭了XMLHTTP支持,但是我现在onreadystatechange事件好像没触发,我改成这样也不行 function check(){ var obj=create_ajax(); obj.open("get","ajax_do.php",true); obj.send(null); obj.onreadystatechange=function(){ alert("ok"); } }是什么原因呢?现在不报错了。 跨域就是a.com发送的ajax只能请求a.com的页面,不能请求b.com的页面,可以使用jsonp或者设置Access-Control-Allow-Origin响应头允许哪些域名可以跨域请求ajax_do.php这个页面存在没?不存在本地测试也会报错的,搭建服务器的话会出现404状态 存在这么一个页面,就在同一个文件夹里,现在是没有报错,但是alert没弹出来 function check(){ var obj=create_ajax(); obj.open("get","ajax_do.php",true);//放这里,IE放后面状态已经转换完了才加上onreadystatechange事件。。 obj.onreadystatechange=function(){ alert("ok"); } obj.send(null);} 没有触发onreadystatechange方法。 现在可以触发onreadystatechange事件,并且readyState==4条件也成立了,我让它发送请求到了一个php页面,但是为什么最后弹出的responseText却是整个PHP的代码?PHP代码:<?php $name=isset($_GET['name'])?$_GET['name']:""; if($name!=""){ if($name=="admin"){ echo "aaa"; die(); }else{ echo "bbb"; die(); } }else{ echo "ccc"; die(); }?>AJAX代码:<body> <script src="ajax_a.js" type="text/javascript"></script> <script> function check(){ var obj=create_ajax(); obj.open("get","ajax_do.php?name=admin",true); obj.onreadystatechange=function(){ var state=obj.readyState; if(state==4){ alert(obj.responseText); } } obj.send(null); } </script> username:<input type="text" name="username" value="" onblur="check();" /></body> 最关键的原因是我的AJAX创建方法有问题..这么写就没问题了:try{xmlHttp=new XMLHttpRequest();}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}} function create_ajax() { var xmlHttp = null; try { xmlHttp = new XMLHttpRequest(); } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp;}staticActivity1.trigger3Click = function(event) {debugger; var obj = create_ajax(); obj.open("GET", "http://mail.domain.com:8080/webmail/api/addUser.php?adminname=admin&adminpass=8dfed624c7b16700293a40e12e50f4ee&[email protected]&password=3c60fe19df8b6f367c5f18deedc4e2be&fullname=name223&mailquota=100&filequota=50", true); debugger; obj.onreadystatechange = function() { var state = obj.readyState; if (state == 4) { alert(obj.responseText); } }; obj.send(null); };总是提示 "拒绝访问"我如果直接把url地址放在IE地址栏中可以直接运行! 对正则不熟 不知道能不能更快点....... 如何根据一个ip段得到子网掩码的位数 object标签与div悬浮的问题,在线!!! jquery vs mootools 极度求救 请问jscript 能不能实现下载 为什么我用history.go(-1)和history.back()没有反应,无法返回前一个页面? 新人提问,各位高手帮帮忙 请帮忙.关于正则表达式 给某个指定的节点中插入最后一个子节点 非常简单的代码,为什么jquery的事件无响应哪? Url.Content的问题。。在线等。。。。 一道有意思的JS面试题目,求答案
根据文章中说的,我关闭了XMLHTTP支持,但是我现在onreadystatechange事件好像没触发,我改成这样也不行 function check(){
var obj=create_ajax();
obj.open("get","ajax_do.php",true);
obj.send(null);
obj.onreadystatechange=function(){
alert("ok");
}
}
是什么原因呢?现在不报错了。
存在这么一个页面,就在同一个文件夹里,现在是没有报错,但是alert没弹出来
var obj=create_ajax();
obj.open("get","ajax_do.php",true);
//放这里,IE放后面状态已经转换完了才加上onreadystatechange事件。。
obj.onreadystatechange=function(){
alert("ok");
}
obj.send(null);
}
现在可以触发onreadystatechange事件,并且readyState==4条件也成立了,我让它发送请求到了一个php页面,但是为什么最后弹出的responseText却是整个PHP的代码?PHP代码:<?php
$name=isset($_GET['name'])?$_GET['name']:"";
if($name!=""){
if($name=="admin"){
echo "aaa";
die();
}else{
echo "bbb";
die();
}
}else{
echo "ccc";
die();
}
?>
AJAX代码:<body>
<script src="ajax_a.js" type="text/javascript"></script>
<script>
function check(){
var obj=create_ajax();
obj.open("get","ajax_do.php?name=admin",true);
obj.onreadystatechange=function(){
var state=obj.readyState;
if(state==4){
alert(obj.responseText);
}
}
obj.send(null);
}
</script> username:<input type="text" name="username" value="" onblur="check();" />
</body>
xmlHttp=new XMLHttpRequest();
}catch(e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
} return xmlHttp;
}
staticActivity1.trigger3Click = function(event) {
debugger;
var obj = create_ajax();
obj.open("GET", "http://mail.domain.com:8080/webmail/api/addUser.php?adminname=admin&adminpass=8dfed624c7b16700293a40e12e50f4ee&[email protected]&password=3c60fe19df8b6f367c5f18deedc4e2be&fullname=name223&mailquota=100&filequota=50", true);
debugger;
obj.onreadystatechange = function() {
var state = obj.readyState;
if (state == 4) {
alert(obj.responseText);
}
};
obj.send(null);
};总是提示 "拒绝访问"
我如果直接把url地址放在IE地址栏中可以直接运行!