2013-01-06 50 views
2

我試圖將兩個JavaScript變量傳遞給PHP變量。將兩個JavaScript變量傳遞給PHP變量

function myFunction(){ 
    var one = 'one'; 
    var two = 'two'; 
} 

做我的研究,我已經非常得出的結論,我將不得不使用AJAX,像

window.location.href = "myphpfile.php?one=" + one; 
window.location.href = "myphpfile.php?two=" + two; 

但是我有麻煩,使用

PHP拿起變量
$_GET['one'] 
$_GET['two'] 

我也困惑我是否調用兩次php腳本。有沒有工作方式來傳遞兩個變量?我發現了幾種方法來通過一個,但沒有通過兩個。

+1

'window.location.href'是瀏覽器重定向,而不是AJAX調用。既然你已經標記了jquery-ajax,[在這裏開始閱讀](http://api.jquery.com/jQuery.ajax/)。 –

+3

你的電話就像'$ .get('myphpfile.php?one = one&two = 2'...)',但除此之外還有更多... –

+0

你可以更具體一點,您在拾取變量時遇到問題?任何錯誤,你可以告訴我們?也許是一個'isset($ _ GET ['one'])'告訴我們會發生什麼。 – aug

回答

5

下將發送兩個變量在單個請求

window.location.href = "myphpfile.php?one=" + one + "&two=" + two; 

但window.location.href不是一個AJAX請求。調用上面的代碼將導致瀏覽器位置更改爲myphpfile.php。

請參閱this page瞭解如何開始使用AJAX,或者您可以考慮使用jQuery

+0

這將正確調用PHP腳本一次,但它不是AJAX調用。正如@MichaelBerkowski推薦的,看看[jQuery.ajax](http://api.jquery.com/jQuery.ajax/)。 –

+0

謝謝,我有點用JQuery初學,所以我必須等到我找到解決方法。我不希望頁面重定向,但我可以使用它。需要一個快速的解決方案,我得到了一個,謝謝堆! – 4Skinz

1

如果只想將變量發送到另一個頁面,然後使用:

  window.location.href = "myphpfile.php?one=" + one + "&two=" + two; 

如果你想Ajax請求:

  $.ajax({ 
       url: "myphpfile.php", 
       method: 'get', 
       data : {one:"one",two:"two"}, 
       success:function() { 
       alert("hi to all"); 
       }); 
+0

您尚未將參數1和2添加到Ajax調用中。 – PassKit

+0

這個ajax請求會運行PHP文件還是保存腳本被調用時收集的日期?我絕對對AJAX一無所知,並且認爲我需要使用它來從客戶端到服務器端獲取數據。 – 4Skinz

+0

ajax將從php頁面獲取數據,然後成功地在當前頁面上顯示數據。 – sourcecode

2

如果你只是想「射後不理」這些變量,你不需要AJAX。常見的方式(不優雅,但工作)採用隱框:

<iframe id="MyFrame" style="display: none;"></iframe> 
在你的代碼

然後:

function myFunction(){ 
    var one = 'one'; 
    var two = 'two'; 
    document.getElementById("MyFrame").src = "myphpfile.php?one=" + encodeURIComponent(one) + "&two=" + encodeURIComponent(two); 
} 

這將導致PHP接收請求,但是如果你想讀和解析結果,你最好使用「真正的」AJAX。