个人学习记录2:ajax跨域封装
/** * 跨域提交公用方法 * @param param 参数 * @param url 跨域的地址 * @param callFun 回调函数 callFun(data) */ function jsonpCall(param, url, callFun) { $.ajax({ async:false, type:"GET", url:url, dataType:"jsonp", jsonp:"callback", data:$.param(param, true), success:callFun, error:function(xhr) { alertError("~error~:" + url); } }); } /** * iframe跨域提交大数据 * @param url 跨域地址 * @param arr [{'name':'name','val':'val'},{'name':'name1','val':'val1'},{'name':'if_return_param','val':'xxx'}] 格式的数组 * arr中,默认有一个参数是回带的,if_return_param,如果有值就回带 * @param callFunName 回调方法的名字,必须当前页面能够访问 */ function iframeCall(url, arr, callFunName) { var _html = ""; _html += ("<form id='iframeSub' method='post' action='" + url + "'>"); for(var _i in arr) { _html += ("<textarea name='" + arr[_i].name + "'>" + arr[_i].val + "</textarea>"); } _html += ("<textarea name='callFunName'>" + callFunName + "</textarea>"); _html += "</form>"; var i_div = document.createElement("div"); i_div.innerHTML="<IFrame id=\"i_frame\" name=\"i_frame\" width=\"1px\" height=\"1px\" style=\"display:none\"></IFrame>"; document.body.appendChild(i_div); document.getElementById("i_frame").contentWindow.document.body.innerHTML = _html; document.getElementById("i_frame").contentWindow.document.getElementById("iframeSub").submit(); }