我试图访问通过ajax发送的数据,并返回我的echo语句,但不是我传递的内容,我做错了什么?
$.ajax({
url: 'http://www.example.php',
data : { 'foo' : 'bar', 'bar2' : 'foo2' },
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log('success data '+data);
}
});
$data = $_POST['foo'];
$data2 = $_POST['bar2'];
echo('almost');
echo($data);
echo($data2);
echo('almost');
控制台读取成功数据almostalmost
您的ajax请求不正确,您告诉jQuery.ajax不要处理您的数据并按原样发送,这将不起的作用
$.ajax({
url: 'http://www.example.php',
data : { 'foo' : 'bar', 'bar2' : 'foo2' },
type: 'POST',
success: function(data){
console.log('success data '+data);
}
});
您的服务器端脚本需要application/x-www-form-urlencoded内容类型,这是jQuery.ajax默认情况下所做的,但如果您告诉它不要处理数据或设置内容类型,则不会。