zoukankan      html  css  js  c++  java
  • [jQuery] ajax跨域处理方式

    情景:

    域名A:http://www.sharefamily.net

    域名B:http://member.sharefamily.net

    域名A要通过ajax,调用域名B的数据,这样就会出现ajax跨域名请求的问题。

    如果你是使用了jQuery,那么就很好处理了,将ajax的dataType设置为jsonp就可以了。

    域名A的js代码原来是:

            jQuery.ajax({
    		url: 'http://member.sharefamily.net',
    		type: 'get',
    		dataType: 'json',
    		success: function (rs) {
    			//其它逻辑
    		}
    	});
    

    修改为:

            jQuery.ajax({
    		url: 'http://member.sharefamily.net',
    		type: 'get',
    		dataType: 'jsonp', //注意这里,主要使用 jsonp 这个方式
    		success: function (rs) {
    			//其它逻辑
    		}
    	});
    

    如果域名B的后端程序原来输出的是json值,那么也要处理一下,如以下 PHP 代码:

            //存在$_GET['callback'],代表是跨域请求
            if (!empty($_GET['callback']))
            {
                echo $_GET['callback'] . '('.json_encode($rs) . ')';
            }
            else
            {
                echo json_encode($rs);
            }
    

      

    Have fun with jQuery!

  • 相关阅读:
    C
    B
    A
    F
    C
    H
    Fang Fang hdu 5455
    Fire Net hdu1045(DFS)
    Sudoku HDU 5547(DFS)
    UVA 10200 Prime Time (打表)
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/3026381.html
Copyright © 2011-2022 走看看