2014-05-19 34 views
0

如何通過重定向使用jquery.I頁面執行後操作的頁面執行後的動作試圖像這樣通過重定向到使用jQuery

$.ajax({ 
       type: "POST", 
       url: response.data.myUrl, 
       data: JSON.stringify(response.data.myParam), 
       dataType: "json" 
     }); 

我需要重定向到URL發佈數據給它。但是這並不能解決問題。任何人都可以幫助我。

+0

嘗試http://stackoverflow.com/a/8390201/569751 –

+0

問題是,我的數據是完整的對象,並不能創建一個隱藏的輸入字段爲每個field.It有很多值。是否有任何其他方法來執行此操作? – user2078883

+0

執行後,在成功回調做window.location重定向? –

回答

0

您可以將表單字段序列化爲JSON並對結果進行字符串化。

 /** 
     * Serialize form fields into JSON 
     **/ 
     (function($){ 
     $.fn.serializeJSON = function(){ 
      var o = {}; 
      var a = this.serializeArray(); 
      $.each(a, function() { 
        if (o[this.name] !== undefined) { 
          if (!o[this.name].push) { 
           o[this.name] = [o[this.name]]; 
          } 
          o[this.name].push(this.value || ''); 
         } else { 
          o[this.name] = this.value || ''; 
         } 
      }); 
      return o; 
     } 
     })(jQuery); 

所以你必須用一個字符串的所有領域,把它變成一個隱藏字段,並提交形式:

myString= JSON.stringify($('#myForm').serializeJSON()); 
$("#myForm #myString").val(myString); 
$("#myForm").attr("action", YOUR_URL); 
$("#myForm").submit(); 

這應該是這樣的形式:

<form id="myForm" method="POST"> 
    <input type="hidden" id="myString" /> 
</form>