Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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
Javascript Jquery Ajax POST未发送所有数据_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript Jquery Ajax POST未发送所有数据

Javascript Jquery Ajax POST未发送所有数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图使用AJAX发布到页面并显示结果,但它并没有发送所有参数 function change_page(button){ var parent_div = $(button.parentNode); var param = parent_div.attr("id"); var page = this.value; var user = $("#user").val(); var ip = $("#ip").val(); $.ajax({

我试图使用AJAX发布到页面并显示结果,但它并没有发送所有参数

function change_page(button){
    var parent_div = $(button.parentNode);
    var param = parent_div.attr("id");
    var page = this.value;
    var user = $("#user").val();
    var ip = $("#ip").val();
    $.ajax({
        url: "gui_info.php",
        type: 'POST',
        data: { param : page, "user" : user, "ip" : ip },
        dataType: "html",
        success: function(data){
            parent_div.html(data);
            alert(data);
        }
    }); 
}

在它发送到的php页面上,我使用
print\r($\u POST)
查看实际接收到的参数。只有
user
ip
成功发送,因为响应是
Array([user]=>[ip]=>)
,而参数键/值不是。我已经检查了未发送的变量的值,它们都存在。我做错了什么?

你所要做的就是:

data: {
    page: param,
    url: url,
    ip: ip
}
$.ajax({
    url: "gui_info.php",
    type: 'POST',
    data: { 
      param : page, 
      user : user, 
      ip : ip 
     },
    dataType: "json",   // pass json in there
    success: function(data){
        parent_div.html(data);
        alert(data);
    }
 }); 

你所要做的就是:

$.ajax({
    url: "gui_info.php",
    type: 'POST',
    data: { 
      param : page, 
      user : user, 
      ip : ip 
     },
    dataType: "json",   // pass json in there
    success: function(data){
        parent_div.html(data);
        alert(data);
    }
 }); 

您在请求中看不到该变量,因为其值未定义。未定义的值不包括在jQuery POST中

例如,当发送这样的数据时

$.ajax({
  type: 'POST',
  data: {
    a: 1,
    b: undefined,
    c: false,
    d: null
  }
});
…这些是在XHR请求中传递的参数:

a: 1
c: false
d:

您在请求中看不到该变量,因为其值未定义。未定义的值不包括在jQuery POST中

例如,当发送这样的数据时

$.ajax({
  type: 'POST',
  data: {
    a: 1,
    b: undefined,
    c: false,
    d: null
  }
});
…这些是在XHR请求中传递的参数:

a: 1
c: false
d:
试试这个

page = $(button).val() //If "button" is an element
而不是

page = this.value
将“this”更改为获取值的元素

page = $(button).val() //If "button" is an element
而不是

page = this.value
将“this”更改为获取值的元素

什么是“this”?它有“值”吗?试着在ajax之前处理那些“用户”和“ip”变量。可能是的empty@blurd是“这个”引起了这个问题…谢谢你发现了“这个”是什么?它有“值”吗?试着在ajax之前处理那些“用户”和“ip”变量。可能是的empty@blurd正是“这个”导致了这个问题……谢谢你发现了这一点