2013-03-15 98 views
0

我正在用jQuery/Ajax發送一些數據。我的代碼被標記爲POST,但PHP實際上將其視爲GET。是什麼賦予了?jquery ajax POST但PHP看GET?

$.ajax({ 
     url: url, 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (results) { 
       callback(results); 
     }, 
     error: function (req, msg, obj) { 
       console.log('An error occured while executing a request for: ' + url); 
       console.log('Error: ' + msg); 
     } 
}); 

我能夠確認它的未來在PHP端的GET做的print_r($ _ GET)和print_r的($ _ POST)

+1

這不是跨域請求嗎? – 2013-03-15 04:18:54

+2

檢查您的瀏覽器控制檯以查看實際發送的內容 – 2013-03-15 04:18:57

+0

否。它來自Spotify /本地計算機並點擊遠程API – Mike 2013-03-15 04:19:57

回答

2

您R值不要在郵寄的任何數據。嘗試添加一些數據並檢查服務器端。

JS

<script> 
    $.ajax({ 
    url: url, 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data : { 
     'sample' : 'sample_data' 
    }, 
    success: function (results) { 
     callback(results); 
    }, 
    error: function (req, msg, obj) { 
     console.log('An error occured while executing a request for: ' + url); 
     console.log('Error: ' + msg); 
    } 
    }); 
</script> 

PHP

<?php 

$sample = ''; 

if (isset($_POST['sample'])) { 
    $sample = $_POST['sample']; 
} 

echo $sample; 

?> 

//輸出

sample_data 
0

我想通過你傳遞值的URL instaed的如果您想獲得張貼嘗試像

$.ajax({ 
    url: url, 
    type: "POST", 
    data:{'my_var':'gautam'}, 
    ------------- 

,並在PHP中,你可以像使用

<?php 
    print_r($_POST); //or you can print_r($_POST['my_var']); 
?> 

給你'高塔姆' ......

0

使用$_SERVER['REQUEST_METHOD']檢查其GETPOST

echo $_SERVER['REQUEST_METHOD']; 
-1

使用$ _REQUEST []用於獲取POST和GET方法值

<?php 
    print_r($_REQUEST); 
    extract($_REQUEST); 
    echo "sample : ".$sample; 

?> 

輸出: 示例:sample_data

+0

誰給了這個-1應解釋爲什麼,因爲根據定義,REQUEST確實包含GET和POST(和COOKIE)的內容...... http://www.php.net/manual/en/reserved.variables .request.php – dsdsdsdsd 2013-12-27 12:52:59