jQuery跨域

jquery1.2以上版本均支持跨域操作,使用方法是GETJSON

实战演练:

前台代码p1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="p1.aspx.cs" Inherits="test_p1" %>



<!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 runat="server">

    <title>无标题页</title>

</head>

<body>

</body>

</html>

<script type="text/javascript" src="../js/jQuery_1.42.js"></script>

<script type="text/javascript">

$(function(){

    $.getJSON("http://192.168.0.130/test/p2.aspx?id=100&jsoncallback=?",function(json){

         alert(json)

    });  

})

</script>

后台p2.aspx

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;



public partial class test_p2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            string id = Request.QueryString["id"];

            Response.Write(Request.QueryString["jsoncallback"] + "(" + id + ")");

            Response.End();

        }

    }

}

注意:

    p2.aspx在输出JSON数据时,一定要用Request.QueryString["jsoncallback"],将获取的内容放到返回JSON数据的前面,例如上例中输出 id 的值,getJSON跨域的原理是把?随机变一个方法名,然后返回执行的,实现跨域响应的目的,能用就好。

你可能感兴趣的:(jquery)