2013-03-15 141 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