DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> js使用post 方式打開新窗口
js使用post 方式打開新窗口
編輯:JavaScript綜合知識     

  這篇文章主要介紹了js使用post 方式打開新窗口的相關資料,需要的朋友可以參考下

  js中一般新打開窗口很簡單直接window.open(url);就可以了,

  但是由於我希望傳遞參數到服務端,而且參數看起來很長一串,而且get方式的提交參數長度是有限制的,因此我有以下需求:

  1,js中實現post提交

  2,返回的頁面在新窗口顯示

  首先我是這麼做的:

  代碼如下:

  $.ajax({

  type: "POST",

  url: '${contextPath}/analyse/detail.do',

  data: {carNum :carNum,ids:refIds},

  success: function(str_response) { var obj = window.open("about:blank");

  obj.document.write(str_response);

  }

  });

  通過jQuery ajax提交,返回的數據寫在新的頁面中,但是由於浏覽器的會攔截自動彈出的窗口,這樣還需用戶自己解除攔截,用戶體驗很差,

  然後我又通過模擬form表單的提交來實現

  代碼如下:

  function post(URL, PARAMS) { var temp_form = document.createElement("form");

  temp_form .action = URL;

  temp_form .target = "_blank";

  temp_form .method = "post";

  temp_form .style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea");

  opt.name = x;

  opt.value = PARAMS[x];

  temp_form .appendChild(opt);

  }

  document.body.appendChild(temp);

  temp_form .submit();

  }

  注意:如需新打開窗口 form 的target屬性要設置為'_blank'

 

  然後請求post('${contextPath}/analyse/detail.do',{carNum :carNum,ids:refIds});就可以了

 
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved