跨域请求数据
电脑版发表于:2019/3/8 18:08
在网上找了一大片跨域请求的问题都没有解决
必须要好生说一下
问题:当在前台跨域请求的时候的发现控制台会报错,但访问是访问了的,就是接受不到数据!!
下面我将通过一个实例解决这个问题
$(function(){ //如果是跨域请求,我这儿就是这样写的举例 //id=其他参数 //pb:这里在后台是传上去的前台返回的方法名 //【注意后台方法必须为Get】 $.ajax({ type: "POST", cache: false, async: false, url: 'http://www.tnblog.net/account/ssbm', data: { id="12",pb="callback" }, dataType: 'jsonp', jsonp: "jsoncallback", success: function (res) { //注意这里的success完全没有任何作用 //所以这里也执行不到 console.log(res); } }); }) function callback(res){ if(res["msg"]=="200"){ alert("hello"); } }
后台代码:
public ActionResult ssbm() { var pb = ""; Dictionary<string, string> res = new Dictionary<string, string>(); if (!string.IsNullOrEmpty(Request["pb"].ToString())) { pb = Request["pb"].ToString(); } res["code"] = "200"; return Content(pb + "(" + JsonConvert.SerializeObject(res) + ")"); }
pb就是前台传来的方法名 通过content输出调用了前台callback方法,并把后台
res键值对传给了前台res键值对
反正我就是这样干的,大家有什么更好的提议,或有相关疑难问题可以如下评论