2014-03-12 168 views
0

我想在文檔準備就緒時給一個PHP變量一個jQuery變量。我所擁有的是具有不同鏈接的各種價值的列表,我通過cURL通過外部網站獲取。使用jQuery,我通過href鏈接獲取值。所以我想要的是當文檔準備好加載時,它應該將jQuery變量賦予一個php變量並進行回顯。如何把jQuery變量放到一個PHP變量中

我有什麼至今:

//Javascript.js 
$(document).ready(function() { 
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text(); 
$.ajax({ 
    url: "index.php", 
    type: "get", 
    data: value, 
    success: function(){ 
     alert("success"); 
     alert(value); 
    }, 
    error:function(){ 
     alert("failure"); 
    } 
}); 

alert(value); 
}); 

的值輸出= 55.0

<a href="index.php?p=trading&m=42&b=BTC">55.0</a> //from cURL page 
<!-- index.php --> 
<?php 
$a = $_GET['value']; 
if($_GET['value'] == "") 
{ 
    echo("empty"); 
} 
else { 
    echo($a); 
} 
?> 

的GET/POST是成功的,但它並沒有在PHP頁面顯示出來。希望任何人都得到了這個解決方案。

+0

和'echo'的輸出,其中應該得到期望的結果?在同一頁面中,您正在調用'ajax'函數? – anurupr

+0

是的,如果頁面準備好加載 – Jordy144

+0

'data:value'時可以這樣做,那麼就是傳遞給PHP文件的內容,您需要一個響應對象,如下面的答案,它將持續來自PHP文件 –

回答

4

更改此:

data: value, 
success: function(){ 
    alert("success"); 
    alert(value); 
}, 

這樣:

data: "value=" + value, 
success: function(response){ 
    alert("success"); 
    alert(response); 
}, 

您需要捕獲來自index.php文件的響應(回波)和提醒。

附加信息:

<?php 
    if($_POST['value'] == "") 
    { 
     echo "empty"; 
    } 
    else { 
     echo $_POST['value'] ; 
    } 
    exit; 
?> 

而且在像上面的末尾添加exit;:看到整個index.php文件

將這個塊在你的PHP文件的頂部,而不是底部後。

當你通過ajax調用這個php文件時,你不想執行其餘的php文件,只需要執行if $_GET塊中的部分。因此,這需要位於文件的頂部,退出之後退出,因此當請求爲$_GET時,其餘部分不會執行。

+0

的_returned_注意他沒有在'data:value'中設置一個變量,意思是說,如果值是55.0 index.php?55.0,那麼url就是這樣的。所以它應該是這樣的'data:「value =」+ value' – anurupr

+0

該響應給了我頁面的整個源碼 – Jordy144

+1

@anurupr好點,我會編輯我的答案。 – superphonic

1

試試這個

$(document).ready(function() { 
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text(); 
$.ajax({ 
    url: "index.php", 
    type: "post", 
    data: "value="+value, 
    success: function(result){ 
     alert("success"); 
     alert(result); 
    }, 
    error:function(){ 
     alert("failure"); 
    } 
}); 

alert(result); 
}); 


index.php 

$a = $_POST['value']; 
if($_POST['value'] == "") 
{ 
    echo "empty"; 
} 
else { 
    echo $a ; 
} 
+0

我的代碼有什麼問題? – VijaiJerald

+0

我沒有投票給你,但它不起作用。請看我的index.php http://pastebin.com/m0vMvQ7G – Jordy144

0

你可以通過改變data:valuedata:{"value":value}

感謝