2015-02-07 90 views
0
var myData = 'name='+j; //build a post data structure 
alert(myData); 
     jQuery.ajax({ 
     type: "POST", // HTTP method POST or GET 
     url: "response1.php", //Where to make Ajax calls 
     dataType:"text", // Data type, HTML, json etc. 
     data:myData, //Form variables 
     success:function(response){ 
      ...... 

當我警告數據客戶端它顯示適當的值,但是當我將它轉移到PHP它不顯示任何值。 PHP是如下數據不被接受在PHP端,而通過ajax獲取請求轉移

<?php 
    if(isset($_POST["name"]) && strlen($_POST["name"])>0) 
    { 
     $name = $_POST["name"]); 
     echo $name; 
     } 
    ?> 

請幫助

回答

0

您的值作爲一個變量發送。您必須從該變量中訪問它們。

嘗試:

<?php 
    if(isset($_POST['myData']["name"]) && strlen($_POST['myData']["name"])>0) 
    { 
     $name = $_POST['myData']["name"]); 
     echo $name; 
     } 
    ?> 

如果這不起作用,print_r()的在你的PHP文件$_POST內容,看看他們是如何接受。

+0

Thanx的答覆。我按你的建議做了。在post上的print_r()返回空數組Array()。 – user3293306 2015-02-07 10:19:32

+0

添加到您的PHP文件作爲第一個命令'返回「函數響應」;'並檢查'你的''成功'代碼'響應'。只是爲了確保使用實際的文件。 – RST 2015-02-07 11:31:41

1

你是不是做一個GET,但你在這一行定義的POST請求:

type: "POST", // HTTP method POST or GET 


,你需要在data部分無論哪種方式,正確的鍵值對:

//var myData = 'name='+j; //build a post data structure 
//alert(myData); 
     jQuery.ajax({ 
     type: "POST", // HTTP method POST or GET 
     url: "response1.php", //Where to make Ajax calls 
     dataType:"text", // Data type, HTML, json etc. 
     data:{ name : j }, //Form variables 
     success:function(response){ 
      ...... 
+0

Thanx的答覆。如果我這樣做,那麼控制不會在PHP頁面上執行,並且Ajax的成功函數也不會被調用。 – user3293306 2015-02-07 10:22:27

+0

@ user3293306然後你有另一個問題 - 因爲這肯定會工作。你的控制檯(大多數瀏覽器上的F12)顯示的是什麼? – 2015-02-07 10:28:42

+0

陣列 ( ) – user3293306 2015-02-07 10:55:43