GVKun编程网logo

javascript-在PHP中调用下拉列表后,ajax将不会响应(php下拉框获取值并显示)

13

本文将介绍javascript-在PHP中调用下拉列表后,ajax将不会响应的详细情况,特别是关于php下拉框获取值并显示的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题

本文将介绍javascript-在PHP中调用下拉列表后,ajax将不会响应的详细情况,特别是关于php下拉框获取值并显示的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表、JavaScript XML实现两级级联下拉列表_javascript技巧、javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别、javascript – Jquery ajax在Phonegap中调用RESTful API的知识。

本文目录一览:

javascript-在PHP中调用下拉列表后,ajax将不会响应(php下拉框获取值并显示)

javascript-在PHP中调用下拉列表后,ajax将不会响应(php下拉框获取值并显示)

我试图通过html页面上的ajax使用PHP从API捕获数据,当我尝试进行直接链接时,它可以成功工作,但是当我尝试在下拉菜单中使用ajax调用它时,就像无法调用ajax.

这是我的html

<head>
  <link rel="stylesheet" type="text/css" href="css/normalize.css">
    <link rel="stylesheet" type="text/css" href="css/skeleton.css">
      <script type="text/javascript" src="js/jquery-2.1.3.min.js">
      </script>
      <script type="text/javascript" src="js/script.js"></script>
      <title>Penggunaan API RajaOngkir | IDMore</title>
</head>
 <body>
   <div>
     <div>
       <br />
       <div>
         <h1>Hitung Ongkos Kirim</h1>
       </div>
     </div>
     <div>
       <div>
         <h5>Masukan Data</h5>
       </div>
     </div>
     <div>
       <div>Asal
       <br />
       <select id="oriprovince">
         <option>Province</option>
       </select></div>
       <div>
         <br />
         <select id="oricity">
           <option>Kota</option>
         </select>
       </div>
       <div>Tujuan
       <br />
       <select id="desprovince">
         <option>Provinsi</option>
       </select></div>
       <div>
         <br />
         <select id="descity">
           <option>Kota</option>
         </select>
       </div>
       <div>Layanan
       <br />
       <select id="service">
         <option>JNE</option>
         <option>POS</option>
         <option>TIKI</option>
       </select></div>
       <div>
         <br />
         <button id="btncheck">Cek Harga</button>
       </div>
     </div>
     <div>
       <div>
         <h5>Harga</h5>
       </div>
       <hr />
       <table>
         <tr>
           <th>Servis</th>
           <th>Deskripsi Servis</th>
           <th>Lama Kirim (hari)</th>
           <th>Total Biaya (Rp)</th>
         </tr>
         <span id="resultsBox">
           <tr>
             <td>...</td>
             <td>...</td>
             <td>...</td>
             <td>...</td>
           </tr>
           <tr>
             <td>...</td>
             <td>...</td>
             <td>...</td>
             <td>...</td>
           </tr>
         </span>
       </table>
     </div>
   </div>
 </body> 

这是我的JavaScript.

$(document).ready(function() {
    loadProvinsi('#oriprovince');
    loadProvinsi('#desprovince');
    $('#oriprovince').change(function() {
        alert('yussan');
    });
    $('#desprovince').change(function() {
        alert('yussan');
    });
});

function loadProvinsi(id) {
    $('#oricity').hide();
    $('#descity').hide();
    $(id).html('loading...');
    $.ajax({
        url: 'process.PHP?act=showprovince',
        dataType: 'json',
        success: function(response) {
            $(id).html('');
            province = '';
            $.each(response['rajaongkir']['results'], function(i, n) {
                province = '<option value="n[province_id]">'+n['province']+'</option>';
                <option></option>
                province = province + '';
                $(id).append(province);
            });
        },
        error: function() {
            $(id).html('ERROR');
        }
    });
}

解决方法:

$.each(response['rajaongkir']['results'], function(i, n) {
                var option = '<option value="'+n['province_id']+'">'+n['province']+'</option>'; 
                province += option;
            });
                $(id).append(province); 

请使用此代码替换每个函数.然后重试.

javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表

javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表

表的结构
cid 分类id
cname 分类名称
gid 父级id
这是我的html页面

               <volist name="rs" id="val"><option value="{$val.cId}">{$val.cName}</option></volist><select name="lable" id="lables"></select>
登录后复制
登录后复制

ajax代码
<script><br>$(''#gType'').click(function(){</script>

$(this).change(function(){
    var objectModel = {};
    var   value = $(this).val();
   var   type = $(this).attr(''id'');
    objectModel[gType] =value;
    $.ajax({
        cache:false,
        type:"POST",
        url:"__APP__/Goods/goodsAdd",
        dataType:"json",
        data:objectModel,
        timeout:30000,
        success:function(data){
            $("#lables").empty();
            var count = data.length;
            var i = 0;
            var b="";
               for(i=0;i<count b value=''"+data[i].cId+"''>"+data[i].cName+"";
               }
            $("#lables").append(b);
        }
    });
   });</count>
登录后复制
登录后复制

}
);


thinkphp接收页面
public function goodsAdd(){

    $model=M("category");        
    $rs=$model-&gt;where("pid=0")-&gt;select();
    $this-&gt;assign("rs",$rs);
    $this-&gt;display();
    $result = array();
    $cate =$_POST[''gType''];
    var_dump($cate);
    $result = M(''category'')-&gt;where(array(''pid''=&gt; $cate))-&gt;field(''cId,cName'')-&gt;select();
    var_dump($result);
    $this-&gt;ajaxReturn($result,"JSON");
    
    
}
登录后复制
登录后复制

请问哪里出错了 ajax刚接触

立即学习“PHP免费学习笔记(深入)”;

回复内容:

表的结构
cid 分类id
cname 分类名称
gid 父级id
这是我的html页面

               <volist name="rs" id="val"><option value="{$val.cId}">{$val.cName}</option></volist><select name="lable" id="lables"></select>
登录后复制
登录后复制

ajax代码
<script><br>$(''#gType'').click(function(){</script>

$(this).change(function(){
    var objectModel = {};
    var   value = $(this).val();
   var   type = $(this).attr(''id'');
    objectModel[gType] =value;
    $.ajax({
        cache:false,
        type:"POST",
        url:"__APP__/Goods/goodsAdd",
        dataType:"json",
        data:objectModel,
        timeout:30000,
        success:function(data){
            $("#lables").empty();
            var count = data.length;
            var i = 0;
            var b="";
               for(i=0;i<count b value=''"+data[i].cId+"''>"+data[i].cName+"";
               }
            $("#lables").append(b);
        }
    });
   });</count>
登录后复制
登录后复制

}
);


thinkphp接收页面
public function goodsAdd(){

    $model=M("category");        
    $rs=$model-&gt;where("pid=0")-&gt;select();
    $this-&gt;assign("rs",$rs);
    $this-&gt;display();
    $result = array();
    $cate =$_POST[''gType''];
    var_dump($cate);
    $result = M(''category'')-&gt;where(array(''pid''=&gt; $cate))-&gt;field(''cId,cName'')-&gt;select();
    var_dump($result);
    $this-&gt;ajaxReturn($result,"JSON");
    
    
}
登录后复制
登录后复制

请问哪里出错了 ajax刚接触

立即学习“PHP免费学习笔记(深入)”;

PHP代码段你原来正常的是怎样的?怎么又有display又有ajaxReturn的。。

JavaScript XML实现两级级联下拉列表_javascript技巧

JavaScript XML实现两级级联下拉列表_javascript技巧

1.创建测试XML文件:select.xml

复制代码 代码如下:




2.创建HTML页面:select.html
复制代码 代码如下:



<script>... <BR>/**//** <BR>* @description 二级级联下拉 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.xml; <BR>SelectLevel.prototype.provinces; <BR>SelectLevel.prototype.parentName="province";//父节点名称 <BR>SelectLevel.prototype.childName="city";//子节点名称 <BR>SelectLevel.prototype.keyName="id";//属性 <BR>/**//** <BR>* 对象SelectLevel的构造器 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>function SelectLevel(parentName,childName,keyName)...{ <BR>if(parentName!=null && parentName!="")...{ <BR>this.parentName=parentName; <BR>} <BR>if(childName!=null && childName!="")...{ <BR>this.childName=childName; <BR>} <BR>if(keyName!=null && keyName!="")...{ <BR>this.keyName=keyName; <BR>} <BR>} <BR>/**//** <BR>* 加载xml文件 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.readXML=function(url)...{ <BR>var selectXML; <BR>//如果它受支持,采用标准的2级DOM技术 <BR>if(document.implementation && document.implementation.createDocument)...{ <BR>//创建新的Document对象 <BR>selectXML=document.implementation.createDocument("","",null); <BR>//设置装载完毕时触发事件 <BR>selectXML.onload=function()...{ <BR>alert("加载完成"); <BR>} <BR>selectXML.load(url); <BR>}else...{//IE浏览器创建Document对象 <BR>selectXML=new ActiveXObject("Microsoft.XMLDOM"); <BR>//设置onload <BR>selectXML.onreadystatechange=function()...{ <BR>if(selectXML.readyState==4)...{ <BR>alert("加载完成"); <BR>} <BR>} <BR>selectXML.load(url); <BR>} <BR>this.xml=selectXML; <BR>} <BR>/**//** <BR>* 遍历xml <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.iteratorXML=function(node,level)...{ <BR>var n=node; <BR>if(n==null)...{ <BR>n=this.xml.documentElement; <BR>} <BR>if(level==null)...{ <BR>level=0; <BR>} <BR>if(n.nodeType==3)...{ <BR>for(var i=0;i<level;i++)...{ <BR>document.write("-"); <BR>} <BR>document.write(n.data.trim()+"<br>"); <BR>}else...{ <BR>for(var m=n.firstChild;m!=null;m=m.nextSibling)...{ <BR>this.iteratorXML(m,level+1); <BR>} <BR>} <BR>} <BR>/**//** <BR>* 下拉联动 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.changeSelect=function()...{ <BR>var city=document.getElementById(this.childName); <BR>var province=document.getElementById(this.parentName); <BR>city.options.length=0; <BR>if(province.value==null || province.value=="")...{ <BR>city.options.length=1; <BR>city.options[0].text="请选择…"; <BR>return; <BR>} <BR>var citys=this.provinces[this[province.value]].getElementsByTagName(this.childName); <BR>if(citys.length==0)...{ <BR>city.options.length=city.options.length+1; <BR>city.options[city.options.length-1].value=province.value; <BR>for(var i=0;i<province.options.length;i++)...{ <BR>if(province.options[i].selected)...{ <BR>city.options[city.options.length-1].text=province.options[i].text; <BR>return; <BR>} <BR>} <BR>return; <BR>} <BR>city.options.length=citys.length; <BR>for(var i=0;i<citys.length;i++)...{ <BR>city.options[i].value=citys[i].getAttribute(this.keyName); <BR>city.options[i].text=citys[i].firstChild.data.trim(); <BR>} <BR>} <BR>/**//** <BR>* 初始化下拉列表 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.init=function(parent,province,city)...{ <BR>this.provinces=this.xml.getElementsByTagName(this.parentName); <BR>var selectProvince=document.createElement("select"); <BR>var selectCity=document.createElement("select"); <BR>var obj=this; <BR>selectProvince.setAttribute("name",this.parentName); <BR>selectProvince.setAttribute("id",this.parentName); <BR>selectProvince.attachEvent("onchange",function()...{obj.changeSelect();}); <BR>selectProvince.options.length=this.provinces.length+1; <BR>selectProvince.options[0].text="请选择…"; <BR>selectCity.setAttribute("name",this.childName); <BR>selectCity.setAttribute("id",this.childName); <BR>selectCity.options.length=1; <BR>selectCity.options[0].text="请选择…"; <BR>for(var i=0;i<this.provinces.length;i++)...{ <BR>SelectLevel.prototype[this.provinces[i].getAttribute(this.keyName)]=i; <BR>selectProvince.options[i+1].value=this.provinces[i].getAttribute(this.keyName); <BR>selectProvince.options[i+1].text=this.provinces[i].firstChild.data.trim(); <BR>if(this.provinces[i].getAttribute(this.keyName)==province)...{ <BR>selectProvince.options[i+1].selected=true; <BR>var citys=this.provinces[i].getElementsByTagName(this.childName); <BR>selectCity.options.length=citys.length+1; <BR>for(var j=0;j<citys.length;j++)...{ <BR>selectCity.options[j+1].value=citys[j].getAttribute(this.keyName); <BR>selectCity.options[j+1].text=citys[j].firstChild.data.trim(); <BR>if(citys[j].getAttribute(this.keyName)==city)...{ <BR>selectCity.options[j+1].selected=true; <BR>} <BR>} <BR>} <BR>} <BR>parent.appendChild(selectProvince); <BR>parent.appendChild(selectCity); <BR>} <BR>String.prototype.trim=function()...{ <BR>return this.replace(/^s*/g,"").replace(/s*$/g,""); <BR>} <BR>//测试 <BR>var newXML=new SelectLevel(); <BR>newXML.readXML("select.xml"); <BR>//newXML.iteratorXML(null,-2); <BR>newXML.init(document.body,"sx","bj"); <BR></script>

javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别

javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别

如果通过纯Java脚本方式,JQuery Way或JASON方式进行ajax调用,是否有任何区别?

我使用Java Script方式开发了一些代码,如果有任何额外的好处,我想是否应该将它更改为JQuery.

如果没有区别,我宁愿保持这种方式,并在我的下一个实现中考虑它.

解决方法:

jQuery是一个JavaScript库 – 它提供了一组函数作为帮助程序,它们可以包含常用函数的片段,但也可以包含针对不同浏览器qwerks的hack.

在进行AJAX调用时需要考虑一些事项,对于不同的浏览器,一些代码必须是不同的.使用jQuery,他们为你工作,你可以使用一个易于使用的功能,而不是编写自己的修复程序,并自己进行所有的测试.

javascript – Jquery ajax在Phonegap中调用RESTful API

javascript – Jquery ajax在Phonegap中调用RESTful API

我正在尝试从android模拟器(使用android 2.2)进行RESTful api调用.在我的服务器上登录请求我正在设置cors header response.setHeader(“Access-Control-Allow-Origin”,“*”);

这个确切的代码在Firefox 4和Chrome 10中运行良好,我被引导相信Android浏览器从版本2.1 up解析此标题.

usr = $("#email").val();
pwd = $("#password").val();

$.ajax({
    url: "http://myremoteserver/login",
    data: {"username": escape(usr), "password": escape(pwd)},
    dataType: "json",
    headers: {"Accept": "application/json"},
    success: function(response) {
      console.log("Success: " + response);
      if (response.result == "success") {
        //doStuff
      }
      else {
        console.log("Success Error: " + response);
        $("#error").html(response);
      }
    },
    error: function(request, status, error) {
      console.log("Error status " + status);
      console.log("Error request status text: " + request.statusText);
      console.log("Error request status: " + request.status);
      console.log("Error request response text: " + request.responseText);
      console.log("Error response header: " + request.getAllResponseHeaders());
      $("#error").html(status);
    }

});

服务器永远不会收到请求,状态代码为0,我读过这可能意味着跨脚本错误.但是,正如我所说,它在现代浏览器中运行良好.

这些是我在LogCat中看到的相关日志

03-29 20:30:46.935: DEBUG/PhoneGapLog(277): file:///android_asset/www/index.html: Line 36 : Error status error
03-29 20:30:46.935: INFO/Web Console(277): Error status error at file:///android_asset/www/index.html:36
03-29 20:30:46.954: DEBUG/PhoneGapLog(277): file:///android_asset/www/index.html: Line 37 : Error request status text: error
03-29 20:30:46.954: INFO/Web Console(277): Error request status text: error at file:///android_asset/www/index.html:37
03-29 20:30:46.985: DEBUG/PhoneGapLog(277): file:///android_asset/www/index.html: Line 38 : Error request status: 0
03-29 20:30:46.985: INFO/Web Console(277): Error request status: 0 at file:///android_asset/www/index.html:38
03-29 20:30:47.003: DEBUG/PhoneGapLog(277): file:///android_asset/www/index.html: Line 39 : Error request response text: 
03-29 20:30:47.003: INFO/Web Console(277): Error request response text:  at file:///android_asset/www/index.html:39
03-29 20:30:47.034: DEBUG/PhoneGapLog(277): file:///android_asset/www/index.html: Line 40 : Error response header: 
03-29 20:30:47.034: INFO/Web Console(277): Error response header:  at file:///android_asset/www/index.html:40
03-29 20:33:38.704: DEBUG/SntpClient(65): request time Failed: java.net.socketException: Address family not supported by protocol

正如你所看到的那样,那里没有很多东西……试图调试任何东西都是一种痛苦.

编辑:
AndroidManifest.xml权限

  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.RECEIVE_SMS" />
  <uses-permission android:name="android.permission.RECORD_AUdio" />
  <uses-permission android:name="android.permission.MODIFY_AUdio_SETTINGS" />
  <uses-permission android:name="android.permission.READ_CONTACTS" />
  <uses-permission android:name="android.permission.WRITE_CONTACTS" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

解决方法:

这是因为android模拟器无法连接到互联网.通过将-dns-server X.X.X.X(其中X.X.X.X是我的DNS服务器)添加到eclipse中的Android首选项中的“默认模拟器选项”来修复它.

今天关于javascript-在PHP中调用下拉列表后,ajax将不会响应php下拉框获取值并显示的讲解已经结束,谢谢您的阅读,如果想了解更多关于javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表、JavaScript XML实现两级级联下拉列表_javascript技巧、javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别、javascript – Jquery ajax在Phonegap中调用RESTful API的相关知识,请在本站搜索。

本文标签:

上一篇使用JavaScript更改重新加载时当前页面的URL(js实现页面重新加载)

下一篇javascript-无法使用jspdf和chartjs向画布添加背景色(javascript不可用怎么办)