AJAX请求代码无法执行?

tesky0125 2013-01-30 11:47:57
我在HTML中写了个获取城市列表的选框。在EditPlus编辑器中下面代码执行成功,并显示城市列表。当我直接点击打开在IE或CHROME中执行时却没有反应。。请问各位,这是咋回事。

上面是执行成功的界面。

下面是源码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
</head>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
//2.采用js-ajax原生态语法-1:成功,下面所用
function createXmlHttp(){//创建AJAX(XmlHttpRequest)
var XmlHttp = false;
try{
XmlHttp = new XMLHttpRequest();

}catch(e1){
try{
XmlHttp = new ActiveXObject("Microsoft.XmlHttp");
}catch(e2){
try{
XmlHttp = new ActiveXObject("Msxml2.XmlHttp");
}catch(e3){
XmlHttp = false;
}
}
}
return XmlHttp;
}
/**
* 执行Ajax:url传参
*/
function doAjax(url,mothedName,state){
var astate=true;
if(state!=null){
if(state==false){
astate=false;
}
}
//alert(astate);
var XmlHttp =createXmlHttp();
if(!XmlHttp){//创建XmlHttpRequest
alert("此浏览器不支持AJAX");
}else{
//2 建立URL地址
var url = encodeURI(url);
//3 连接地址
XmlHttp.open("POST",url,astate);
//alert(url);
//4 从服务器上返回以后,调用ispinming函数
XmlHttp.onreadystatechange = function(){doAjaxNext(XmlHttp,mothedName);};
XmlHttp.setRequestHeader("If-Modified-Since","0");
//5 发送
XmlHttp.send(null);
}
}

function doAjaxNext(XmlHttp,mothedName){//调用的函数
if(XmlHttp.readyState==4){//正常
if(XmlHttp.status==200){// 正常
var result = unescape(XmlHttp.responseText);//从Action中返回的值
//alert(result);
if(result!=""){
if(mothedName){
eval(mothedName+"(result)");
}else{
doNext(result);//
}
}
}else if(XmlHttp.status==404){//错误
alert("404错误:找不到文件或目录");
}else if(XmlHttp.status==500){//错误
alert("500错误:服务器内部错误");
}
}
}

</script>
<body>

<form id="form1" name="form1">
<p><select id="city_id_0" name="a_sheng" onchange="getshengshixian1(0)"><option value="">请选择省份</option></select>
<select id="city_id_1" name="a_shi" onchange="getshengshixian1(1)"><option value="">请选择地级市</option></select>
<select id="city_id_2" name="a_xian"><option value="">请选择市/县级市/县</option></select>
<br>

<script type="text/javascript">
//列出省市县 省:0 市:1 县:2
function getshengshixian1(jibie){

if(jibie == 0){
var sheng = document.form1.a_sheng.value;
//alert(sheng);
list_shi1(sheng);
}else if(jibie == 1){
var shi = document.form1.a_shi.value;
//alert(shi);
list_xian1(shi);
}
}

var city_form_id1;

function addSelectList1(obj){
var list = document.getElementById(city_form_id1);
var bb=obj.split(";");
var cc;
clearList1(list);
for(var i = 0; i <bb.length; i++){
var newOption = document.createElement("option");
cc = bb[i].split(",");
newOption.setAttribute("value", cc[0]);
newOption.appendChild(document.createTextNode(cc[1]));
list.appendChild(newOption);
}
//alert(list);
}
function clearList1(list){
for(var i = list.options.length; i >= 1; i--){
list.remove(i);
}
}
function list_sheng1(){
city_form_id1="city_id_0";//
doAjax("http://center.smesd.gov.cn/util?o=areaselect&supercode=1030","doNext1");
var list = document.getElementById("city_id_1");
if(list){
clearList1(list);
}
}
function list_shi1(supercode){
city_form_id1="city_id_1";//
doAjax("http://center.smesd.gov.cn/util?o=areaselect&supercode="+supercode,"doNext1");
var list = document.getElementById("city_id_2");
if(list){
clearList1(list);
}
}
function list_xian1(supercode){
city_form_id1="city_id_2";//
doAjax("http://center.smesd.gov.cn/util?o=areaselect&supercode="+supercode,"doNext1");
}

function doNext1(obj){//obj:data
addSelectList1(obj);
}

list_sheng1();
//getshengshixian1(0);

</script>
</form>

</body>
</html>



...全文
269 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tesky0125 2013-02-01
  • 打赏
  • 举报
回复
拜托各位啦。帮忙测试一下啦。
liangtu 2013-02-01
  • 打赏
  • 举报
回复
引用 6 楼 tesky0125 的回复:
拜托各位啦。帮忙测试一下啦。

var url = ""; 
var params ="";

        $.ajax(
        {
            type:'post',
       		url:url,
       		data:params,
       		dataType:'text',
       		success:function(msg)
       		{
       			alert("success"+msg);
				var obj = JSON.parse(msg);//json字符串转换为json对象
       		},
       		error:function()
       		{
       			alert("error"+msg);
       		}
       	});

tesky0125 2013-01-31
  • 打赏
  • 举报
回复
引用 3 楼 paullbm 的回复:
浏览器兼容问题! 如果js不是很牛的话,建议直接使用jquery吧。 jquery至少能解决60%的兼容性问题。
谢谢啊 jQuery用了不过在EDITPLUS中都没反应 这有个链接 用上面代码在EditPlus中执行成功 但浏览器失败 如果jQuery你很熟悉的话 能帮我写个获取这个链接的代码吗? http://center.smesd.gov.cn/util?o=areaselect&supercode=1030
tesky0125 2013-01-31
  • 打赏
  • 举报
回复
引用 1 楼 ppgs8903 的回复:
用JQUERY的AJAX,new XMLHttpRequest 就不要这么搞了直接 post,get 或者自己写 ajax好了 XMLHTTP只有IE支持,这个是标准解答
我用jQuery试过了 试了get post ajax 连数据都获取不到 这有个链接 其中是返回一堆字符串 内容你可以用浏览器直接访问查看 。 能帮我写个jQuery.ajax访问该链接的代码吗?我不知道怎么设置这些头信息类型。 http://center.smesd.gov.cn/util?o=areaselect&supercode=1030
xuhesheng 2013-01-30
  • 打赏
  • 举报
回复
试试 if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } // code for IE else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
木薯超人 2013-01-30
  • 打赏
  • 举报
回复
用JQUERY的AJAX,new XMLHttpRequest 就不要这么搞了直接 post,get 或者自己写 ajax好了 XMLHTTP只有IE支持,这个是标准解答
paullbm 2013-01-30
  • 打赏
  • 举报
回复
浏览器兼容问题! 如果js不是很牛的话,建议直接使用jquery吧。 jquery至少能解决60%的兼容性问题。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧