ajax 跨域注意要点:
1. 使用ajax 跨域只能使用get 方式
2.dataType 必须使用jsonp 格式
其他跟ajax 基本用法相同
$.ajax({ type: 'get', url: url, data: { 'username': logname, "pwd": logpwd }, dataType: 'jsonp', jsonp: 'callback', success: function (msg) { if (msg.result > 0) { window.location.reload(); } else if (msg.result == "-1") { Q.message('f', "该账户已被禁用"); } else { $(".errorCont").show(); $(".errorCont").html("用户名或密码输入错误"); } }, error: function (msg) { alert(JSON.stringify(msg)); } });
注意后台代码返回的时候需要使用 callback()包裹json 格式返回,注意后台返回的callback 并不仅仅是传入的callback参数而是动态生成的(仅为个人理解)
此处贴出后台代码:
public void DoLogin(string callback) { var name = Request.Params["username"].ToStr(); var pwd = Request.Params["pwd"].ToStr(); var ip = Common.GetIp; var uid = _userService.Login(name, pwd, ip); Response.Write(callback + "({\"result\":\"" + uid + "\"})"); Response.End();