如何解决ajax跨域问题

 我来答
小孟6754
2015-11-09 · TA获得超过196个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:251万
展开全部

用jsonp解决跨域问题


例子

js:
            $.ajax({
                type: "post",
                async: true,
                url: "
,
                data: {
                    act: "isAddorder",
                    productId: 1,
                    userId: 48,
                    r: Math.random(1)//处理需要立即加载的页面
                },
                dataType: "jsonp",
                success: function (data) {
                    //处理
                },
                error: function (json) {
                    //alert("请求数据错误……");
                }
            });

服务端:

服务端:
         protected void Page_Load(object sender, EventArgs e)
         {
            string act = Request["act"];
            string callback = Request["callback"];
            if (act == "isAddorder") //判断是否可以报名
            {
                int productID = int.Parse(DataSecurity.replaceSQL(Request["productId"]));
                int userId = int.Parse(DataSecurity.replaceSQL(Request["userId"]));
                sjson = isAddorder(productID, userId);
            }
            Response.Write(callback+"("+sjson+")");
            Response.End();
         }
         注:sjon是json格式的字符串
陈亮424
推荐于2016-07-31 · TA获得超过634个赞
知道小有建树答主
回答量:626
采纳率:0%
帮助的人:414万
展开全部
ajax可以跨域 只要将type设置为jsonp就行了,但是ajax跨域是由限制的,将type设置为jsonp之后它的提交方式只会是get,这样的话如果你需要传参,并且参数很长的话就会丢失,
建议你使用httpClient后台代理http请求
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式