zoukankan      html  css  js  c++  java
  • app_can 的AJax异步,两个解决方案

    在返回头的content-type中设置为application/json
    利用Appcan的Native模式开发的widget,也是属于跨域访问的范畴,因此,也会碰到上述情况,这里介绍两种Appcan中的解决方案:
    一、Jquery的$.getJSON(url,function(data){});

    第一个参数是url获取数据地址,第二个参数成功取得数据时调用;
    其中,url中必须带有jsoncallback参数,参数值为"?",Jquery会在请求时替换为一个随机的唯一数:

    http://xxxx.php?jsoncallback=?&name1=value1&name2=value2

    用$.getJSON时,数据的返回格式要是xxx({"a":"1","b":"2"})
    例如:
    xxx({"status":"true","listData":[{"id":"261803","title":"虚拟投影键盘","name":"前沿科技","summary":"这款虚拟投影键盘设计独特,每一个敲击都不会相互干扰,可以同时接受。"},{"id":"261994","title":"科学家发现"最大黑洞"","name":"环球快递","summary":"美国加州大学伯克利分校的天文学家尼古拉斯•麦克康纳尔和他的同事发现了两个目前已知最大的黑洞。"}}]})
    注意:需验证{"a":"1","b":"2"}json格式的正确性,可在jsonlint.com网站上验证,如果格式不合法将获取不到数据

    二、Appcan封装的uexXmlHttpMgr对象

    方法如下:
    uexXmlHttpMgr.open(String inXmlHttpID, String inMethods, String inUrl);

    第一个参数:

    inXmlHttpID:异步请求操作ID;必须值。(随机不重复)

    第二个参数:

    inMethods:异步请求类型;(get,post)

    第三个参数:

    inUrl:异步请求地址;
    通过uexXmlHttpMgr.onData函数获取值。
    uexXmlHttpMgr.onData(inOpCode,inResult)
    inOpCode:操作ID,由发起请求时传入的值,随机不重复;
    inResult:服务器返回的任意数据;String类型。
    使用方式:

    <!DOCTYPE HTML>
    <html>
      <head>
        <title>跨域异步请求接口</title>
       </head>
      <body>
        <div class="tit">跨域异步请求接口</div>
        <div class="conbor" id="my_result"></div>
        <script type="text/javascript">
          var url="http://192.168.1.5/musicmodel/api/user.api.php?m=param&appid=1000";
          function xmlHttp(){
            uexXmlHttpMgr.open("1", "GET",url,"");
            uexXmlHttpMgr.send("1");
          }
          function httpSuccess(opid,stauts,result){
            document.getElementById("my_result").innerHTML =result;
            uexXmlHttpMgr.close("1");
          }
          window.uexOnload = function(){
            uexXmlHttpMgr.onData = httpSuccess;
            uexWidgetOne.cbError = function(opCode, errorCode, errorInfo){
              alert(errorInfo);
            }
          }
         </script>
       </body>
    </html>

    该方法返回数据只要是正确的json格式就可以;






  • 相关阅读:
    如何发现需求
    测试linux和window下 jdk最大能使用多大内存
    java获取汉字的拼音 简单版
    oracle一条sql执行导入sql文件
    oracle使用闪回功能恢复删除的表数据
    linux环境变量配置
    有两张表;使用SQL查询,查询所有的客户订单日期最新的前五条订单记录。 糖不苦
    jQuery作业 点击出弹框 糖不苦
    #{}和${}的区别是什么? 糖不苦
    在html页面中如何使用jQuery? 糖不苦
  • 原文地址:https://www.cnblogs.com/zhaoqiangxiaoxiao/p/3347054.html
Copyright © 2011-2022 走看看