Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $.ajax post无法正常工作_Php_Jquery_Ajax - Fatal编程技术网

Php $.ajax post无法正常工作

Php $.ajax post无法正常工作,php,jquery,ajax,Php,Jquery,Ajax,我尝试使用jQuery执行AJAX请求,使用以下代码: $.ajax({ type: 'POST', url: './ajax/mostra_duv.php', data: 'pag=1&teste=deu', cache: false, contentType: false, processData: false }) .done(function(data) { if(data!='') { $("#re

我尝试使用jQuery执行AJAX请求,使用以下代码:

$.ajax({
    type: 'POST',
    url: './ajax/mostra_duv.php',
    data: 'pag=1&teste=deu',
    cache: false,
    contentType: false,
    processData: false
})
.done(function(data) {
    if(data!='')
    {
        $("#resumoduvida").html(data);
    }
    else
    {
        $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
    }
})
.fail(function() {
    $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
});
$.ajax({
键入:“POST”,
url:“./ajax/mostra_duv.php”,
数据:'pag=1&teste=deu',
cache:false,
contentType:false,
processData:false
})
.完成(功能(数据){
如果(数据!='')
{
$(“#resumoduvida”).html(数据);
}
其他的
{
$(“#resumoduvida”).html(“Desculpe,houve um problema na conexão ao servicdor.Tente novatemente

”); } }) .fail(函数(){ $(“#resumoduvida”).html(“Desculpe,houve um problema na conexão ao servicdor.Tente novatemente

”); });
然后,mostra_duv.php只是调用
print\r($\u POST)导致空数组

我希望得到
$\u POST['pag']
$\u POST['teste']
,其值对应于请求(分别为1和'deu')


感谢您的帮助!谢谢

您收到的数据是什么

我认为您错过了
数据类型:“html”
在ajax内部

$.ajax({
    type: 'GET',
    dataType: 'html',
    url: './ajax/mostra_duv.php',
    data: 'pag=1&teste=deu',
    cache: false,
    contentType: false,
    processData: false
})

只是简单的代码来处理这一点

$.ajax({
    type: 'POST',
    url: 'pageToYourScript.php',
    data: {page: 1, test: 'test'},
    success: function(data){
        console.log(data);
    },
    error: function(jqXHR){
        console.log(jqXHR);
    }
});

更改值,并处理返回的数据或错误(如果有)。

我认为使用:

$.post('./ajax/mostra_duv.php',{pag':1,'teste':'deu'})
.完成(功能(数据){
如果(数据!='')
{
$(“#resumoduvida”).html(数据);
}
其他的
{
$(“#resumoduvida”).html(“Desculpe,houve um problema na conexão ao servicdor.Tente novatemente

”); } }) .fail(函数(){ $(“#resumoduvida”).html(“Desculpe,houve um problema na conexão ao servicdor.Tente novatemente

”); });
你可能也会发现这同样有效

根据您最后的评论


除非您只打算支持实现(以前称为)XMLHttpRequest级别2的浏览器,否则无法通过Ajax上传文件。有一些插件可以帮助实现这一点;我个人最喜欢的是Mike Alsup的表单插件(因为它还添加了其他帮助函数):

为什么要设置
contentType:false
?只需使用默认的
contentType
@Barmar即可,谢谢。我删除了关于它的评论。我总是对此感到困惑。@Barmar因为我也想通过AJAX上传文件。。。这个使用静态数据的初始测试只是为了简化它,但是如果您将字符串作为数据传递,您认为如何将文件转换为字符串?您需要formData。然后您需要使用
contentType:“多部分/表单数据”
选项
dataType
对参数的发送方式没有影响,它只用于解释响应。@Barmar是的,先生,但他得到的响应是html格式的,这就是为什么他认为这可能会导致问题的原因。如果没有数据类型,它将如何运行?默认情况下,
$。ajax
查看响应中的
内容类型
,以确定
数据类型
。因此,如果服务器发送
文本/html
,它将像您发送
数据类型:“html”
。他添加了一条评论,说他需要
$的灵活性。ajax
,因为他正在向其中添加文件上载。@Barmar谢谢。我可能不会注意到。@tower取决于您所说的“支持文件上载”是什么意思。不是每个浏览器都支持Ajax文件上传:-有允许你模仿行为的多边形填充,通常通过发布到隐藏的iFrame。也需要上传文件@您可以使用一个简单的插件,例如,和,下面的文章可能会提供更多帮助,
$.post('./ajax/mostra_duv.php', { 'pag': 1, 'teste': 'deu' })
.done(function(data) {
    if(data!='')
    {
        $("#resumoduvida").html(data);
    }
    else
    {
        $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
    }
})
.fail(function() {
    $("#resumoduvida").html('<p>Desculpe, houve um problema na conexão ao servidor. Tente novamente</p>');
});