energykey 发表于 2013-1-23 02:07:09

jquery ajax 跨域解决方案【1分钟】

背景,由于登录服务器和应用服务器不在一个域,所以必须跨域进行登录验证,而AJAX本身是不能跨域的,但jquery提供了默认的解决方案。

第一步,服务端:

String callback=request.getParameter("callback");JSONObject jb = JSONObject.fromObject(result);// 更改为你自己的拼装JSON代码PrintWriter out = response.getWriter();out.print(callback+"("+jb.toString()+")",false);out.close();return null;

第二部,客户端:

_Jquery.ajax({            url    : url,            data   : data,            dataType : "jsonp",            jsonnp : 'callback',            timeout:15,            success : function(map){            if(map["success"]=="true"){                _dialogAlert("登录成功!",'登录成功');                location.reload();            }else{            _dialogAlert(map["errorMsg"],'登录失败');            }            },            error:function (XMLHttpRequest, textStatus, errorThrown) {    // 通常 textStatus 和 errorThrown 之中    // 只有一个会包含信息    _dialogAlert("请求超时,请稍后重试。"); // 调用本次AJAX请求时传递的options参数}            });
页: [1]
查看完整版本: jquery ajax 跨域解决方案【1分钟】