2014-08-31 152 views
-1

我想访问我通过Ajax发送的数据,我回来了我的回声,但不是我传递,我做错了什么?不返回与AJAX AJAX数据

$.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

+1

[** echo **](http://php.net/manual/en/function.echo.php)是一种语言结构,而不是函数。 – 2014-08-31 23:02:03

回答

1

你的Ajax请求是不正确,你告诉jQuery.ajax不处理你的数据和按原样发送,这不会工作

$.ajax({ 
    url: 'http://www.example.php', 
    data : { 'foo' : 'bar', 'bar2' : 'foo2' }, 
    type: 'POST', 
    success: function(data){ 
    console.log('success data '+data); 
    } 
}); 

您的服务器端脚本需要应用程序/ x-www-form-urlencoded内容类型,这是jQuery.ajax默认执行的操作,但如果您告诉它不处理数据或设置内容类型,则不会。

+0

文件上传使用'multipart/form-data'而不是'application/x-www-form-urlencoded'。如果你想用ajax上传文件,你必须使用一个FormData对象,并关闭流程数据和内容类型。 – Musa 2014-08-31 23:27:03