zoukankan      html  css  js  c++  java
  • JQuery Ajax 跨域请求

    第一种方式

    客户端JS:

     1         function httpRequest(arg,successCallback,errorCallback){
     2               $.ajax({
     3                   type: "get",
     4                   url:serverAddress,
     5                   async: false, //是否为同步or 异步,默认同步(true)
     6                   cache:false, //请求格式为jsonp ,script默认为false ,其它为true ,  这里可以不用添加
     7                   data:arg,      //请求参数,也可以拼接在url后边
     8                   dataType: "jsonp",
     9                   jsonp:"callback",
    10                   jsonpCallback :"jsoncallback",
    11                   timeout : set_Timeout,         //超时处理
    12                   success : successCallback,       //成功回调
    13                   error : errorCallback            //错误回调
    14               })
    15           }

    //调用

    var arg = {name:'zs'}
    httpRequest(arg,succCallback,errCallback);

    function succCallback(msg){
    //msg返回一个对象,解析JSON格式
    }

    function errCallback(){
    //fail msg
    }


    服务器端代码

     String callbackFunName = context.Request["callback"];  //jsonp :callback 对应的值,默认不写就是callback
    
     context.Response.Write(callbackFunName + "(" +{ 'name':'John'}+")");
    

     

    jsonp: "callback"
    jsonpCallback:"jsonpCallback"

    这两个参数最终会拼接在请求的url后面,变成 http://www.xxx.com/ajax/xxx.ashx?callback=jsonCallback

    ps:注意:这种方式需要客户端与服务器端 ,同时调整下数据请求方式及服务器响应。

    第二种方式

         PHP 解决跨域 ,在文件头加下边这两句代码,JS 就不需要JSONP。

    header("Access-Control-Allow-Origin: *");
    header('content-type:application/json;charset=utf8');  
    

      

    java 解决跨越

    xxx.setContentType("application/json; charset=utf-8"); 
     
    xxx.getResponse().addHeader("Access-Control-Allow-Origin","*");//'*'表示允许所有域名访
    
    or
    
    
    /*这里可以忽略*/ 服务器端要使用 request.getParameter("jsonpCallback");//客户端请求参数 out.println(jsonpCallback+"("+resultJSON(data)+")");//返回jsonp

      

  • 相关阅读:
    ORACLE游标概念讲解
    [转载]Oracle如何查看日志
    oracle 游标以及游标变量
    Oracle游标大全
    [转载]Oracle如何查看日志
    追踪从指缝溜走的时间
    《Falcon 初印象》幻灯分享
    百姓网那道题
    一个JavaScript写的黑白棋AI
    trac 推广 ppt 分享
  • 原文地址:https://www.cnblogs.com/congxueda/p/5074198.html
Copyright © 2011-2022 走看看