2013-06-23 38 views
0

我是新來的jQuery,我正在尋找一種方法來通過POST方法將一個變量傳遞到一個新頁面,而不使用表單。jQuery通過POST將變量傳遞到新頁面沒有形式

使用GET很簡單:

$("#my_link").click(function(){ 
    var name = 'John'; 
    var url = "my_new_page.php?name=" +name; 
    window.open(url); 
}); 

我如何做同樣的事情用POST?

我試過.load(),.post()和.ajax(),但它沒有工作。

可能嗎?


SOLUTION:

人民標誌着我爲重複的問題,但並沒有解決我的問題。 謝謝SLaks,看來<form>是唯一的方法。

我做了這個功能工作得很好:

function post2blank(url,myarray) 
{ var myform = '<form id="temporary_form" action="' +url+ '" target="_blank" method="POST">'; 
    $.each(myarray, function(key, value){myform += '<input name="' +key+ '" value="' +value+ '"/>';}); 
    myform += '</form>'; 
    $(myform).appendTo('body').submit(); 
    $('#temporary_form').remove(); 
} 

它使用id = 「temporary_form」 創建一個<form>並追加到<body>。將「myarray」上的每個變量提交給「result.php」後,它將刪除該表單。

下面是一個例子如何調用:

<a onclick="var myArray = { name : 'John' , age : '45'}; post2blank('result.php' , myArray);">POST</a> 

我在Chrome,IE10和Firefox測試機器人。希望它可以幫助別人。

回答

2

您需要創建一個隱藏窗體並致電submit()

<form>標記是使用POST導航到頁面的唯一方法。

相關問題