天天看點

用表單代替location.href

書接上文,上午遇到error parsing http request header問題,用ajax傳對象可以解決問題,但檔案下載下傳隻能用location.href,傳參數如果有中文又有可能出現問題,是以上午想的辦法是如果有中文先進行轉碼,但這個方法确實不好,下午看到有人寫了一個思路,将參數利用js做成表單,用表單送出方法代替location.href,方法還是比較巧妙,比轉碼好得多,具體代碼如下

function createFormForExport(url,params) {
    // 建立Form
    var form = $('<form></form>');
    // 設定屬性
    form.attr('action', url);
    form.attr('method', 'post');
    for (var item in params) {
        // 建立Input
        var formInput = $('<input name="' + item + '" type="hidden" value="' + params[item] + '" />');
        // 附加到Form
        form.append(formInput);
    }
    $(document.body).append(form);
    // 送出表單
    form.submit();
    form.remove();
}
           

params是一個js對象,就醬

繼續閱讀