• 跨域请求 jQuery的ajax jsonp的使用


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <script src="../Scripts/jquery-1.7.2.min.js"></script>
        <script src="../Scripts/JSON-js-master/json2.js"></script>
        <script type="text/javascript">
    
            $(function () {
    
                $.ajax({
                    type: "GET",
                    dataType: "jsonp",//jsonp,json
                    //contentType: "application/json; charset=utf-8;",
                    async: true,
                    jsonp: 'callback',     //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)          
                    jsonpCallback: 'jsonpCallback',//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                    //url: 'GetLocation.ashx',
                    data: { name: 'zdl' },              
                    url: 'http://localhost:8099/GetLocation.ashx',                      
                    success: function (jsonData) {
                        console.log(jsonData); 
                        //alert(JSON.stringify(jsonData));
                        var a = JSON.stringify(jsonData);
                        console.log(a);
                        alert(jsonData.message);
                        alert(1);
                    },
                    error: function (request, textStatus, errorThrown) {
                        //console.log(request.responseText);
                        //console.log(textStatus);
                        //console.log(errorThrown);
                        alert(2);
                    }
                });
    
            
            
            })
    
           
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>
    

      

    <%@ WebHandler Language="C#" Class="GetLocation" %>
    
    using System;
    using System.Web;
    
    public class GetLocation : IHttpHandler
    {
    
        public void ProcessRequest(HttpContext context)
        {
    
            #region 方式1 
            //string callback01 = context.Request["callback"];
            //context.Response.Write(callback01 + "( [ { message:"John"} ] )");
            #endregion
    
            #region 方式2 
            //string callback02 = context.Request["callback"];
            //context.Response.Write(callback02 + "( { message:"John"}  )");
            #endregion
    
            #region 方式3
            var callback03 = context.Request["callback"];  //获得请求端回调函数
            var data = "{" + "message:'" + context.Request["name"] + "'," + "id:'0001'" + "}";
            var jsonp = callback03 + '(' + data + ')';
            context.Response.Write(jsonp);
            #endregion
        }
    
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    
    }
    

      参考:http://www.cnblogs.com/know/archive/2011/10/09/2204005.html

  • 相关阅读:
    将备份中的数据插入到数据库中的具体步骤
    C#三层架构(获取中文拼音和给密码加密)
    C# 三层架构项目体会(1)
    leetcode——Best Time to Buy and Sell Stock
    leetcode——Binary Tree Maximum Path Sum
    leetcode——Valid Palindrome
    leetcode——Word Ladder II
    学习制作SLG游戏(一)
    leetcode——Maximum Gap
    cocos2d学习资源收集
  • 原文地址:https://www.cnblogs.com/dianli_jingjing/p/7491968.html
Copyright © 2020-2023  润新知