Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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 I';我正在尝试使用Ajax将数据发送到另一个页面_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript I';我正在尝试使用Ajax将数据发送到另一个页面

Javascript I';我正在尝试使用Ajax将数据发送到另一个页面,javascript,php,jquery,html,Javascript,Php,Jquery,Html,好吧,这有点复杂,我不明白为什么这不起作用。我正在尝试创建一个页面,其中包含一些文本框和下拉框列表,以及使用easyui的数据网格(这部分工作得很好)。我要做的是,当我在一个dropbox列表中选择某个内容时,我要做两个操作:将一些信息发送到另一个php页面以写入数据库,以及更改datagrid的列。这几乎奏效了。我在数据库中写入,但每个值都为null,并且我的列也会更改 因此,我的液滴列表是这样的: 函数changecolumn(){ //这些是我在文本框/下拉框列表中的数据 变量头数据={

好吧,这有点复杂,我不明白为什么这不起作用。我正在尝试创建一个页面,其中包含一些文本框和下拉框列表,以及使用easyui的数据网格(这部分工作得很好)。我要做的是,当我在一个dropbox列表中选择某个内容时,我要做两个操作:将一些信息发送到另一个php页面以写入数据库,以及更改datagrid的列。这几乎奏效了。我在数据库中写入,但每个值都为null,并且我的列也会更改

因此,我的液滴列表是这样的:

函数changecolumn(){
//这些是我在文本框/下拉框列表中的数据
变量头数据={
'date':$('input[name=date]')。val(),
“日落”:document.getElementById(“日落”).value,
'sunrise':$('input[name=sunrise]')。val(),
'moonset':$('input[name=moonset]')。val(),
“月亮升起”:$(“输入[name=moonrise]”)。val(),
'moonphase':$('input[name=moonphase]')。val(),
“仪器”:选定的仪器,
'obsname':$('input[name=obsname]')。val(),
'astroresp':$('input[name=astroresp]')。val(),
'techname':$('input[name=techname]')。val()
};
//在这里尝试使用ajax。
$.ajax({
url:“test.php”,
方法:“张贴”,
数据:“headerData”,
//数据:{sunset:document.getElementById('sunset')。值,sunrise:document.getElementById('sunrise')。值,月集:document.getElementById('moonrise')。值,moonphase:document.getElementById('moonphase')。值,工具:selectedInstrument,obsname:document.getElementById('obsname')).value,astroresp:document.getElementById('astroresp')。value,techname:document.getElementById('techname')。value},
成功:功能(数据){
警报(“数据已成功捕获”);},
})
//使用done承诺回调
.完成(功能(数据){
//将数据记录到控制台,以便查看
控制台日志(数据);
//这里我们将处理错误和验证消息
});
//对于我的DATAGRID,这部分正在工作
var listInstrument=document.getElementById(“仪器”);
var selectedInstrument=listInstrument.options[listInstrument.selectedIndex].text;
如果(selectedInstrument=='one'){
$('#dg')。数据网格({
栏目:[[
//这部分工作正常
]]
});
}
否则{
//这部分工作正常
}
}

一
二
三
如果使用
数据:“headerData”
ajax
调用中将数据设置为字符串,则需要如下更改:

var headerData = {
        date      : $('input[name="date"]').val(),
        sunset    : document.getElementById("sunset").value,
        sunrise    : $('input[name="sunrise"]').val(),//add " in the query
        moonset    : $('input[name="moonset"]').val(),
        moonrise    : $('input[name="moonrise"]').val(),
        moonphase    : $('input[name="moonphase"]').val(),
        instrument    : selectedInstrument,
        obsname    : $('input[name="obsname"]').val(),
        astroresp    : $('input[name="astroresp"]').val(),
        techname    : $('input[name="techname"]').val()
};
//console.log(headerData); //check if it has data or not

$.ajax({  
          url:"test.php",  
          type:"POST",
          data: headerData,                
          success: function(data) {
                alert("Data was succesfully captured"); 
          },
}).done(function(data){

});
您使用
data:“headerData”
ajax
调用中将数据设置为字符串,您需要如下更改:

var headerData = {
        date      : $('input[name="date"]').val(),
        sunset    : document.getElementById("sunset").value,
        sunrise    : $('input[name="sunrise"]').val(),//add " in the query
        moonset    : $('input[name="moonset"]').val(),
        moonrise    : $('input[name="moonrise"]').val(),
        moonphase    : $('input[name="moonphase"]').val(),
        instrument    : selectedInstrument,
        obsname    : $('input[name="obsname"]').val(),
        astroresp    : $('input[name="astroresp"]').val(),
        techname    : $('input[name="techname"]').val()
};
//console.log(headerData); //check if it has data or not

$.ajax({  
          url:"test.php",  
          type:"POST",
          data: headerData,                
          success: function(data) {
                alert("Data was succesfully captured"); 
          },
}).done(function(data){

});
在以json格式传递数据时,需要添加“dataType:json”

$.ajax({  
          url:"test.php",  
          method:"POST",
          data: headerData,
          dataType: 'json',                
          success: function(data) {
                alert("Data was succesfully captured"); 
          },
})
在以json格式传递数据时,需要添加“dataType:json”

$.ajax({  
          url:"test.php",  
          method:"POST",
          data: headerData,
          dataType: 'json',                
          success: function(data) {
                alert("Data was succesfully captured"); 
          },
})

用ajaxAs Sagar中的
data:headerData
替换
data:headerData
,ajaxAs Sagar说,你向PHP发送的是一个简单字符串,而不是包含字段的对象。用
data:headerData
替换
data:headerData
,ajaxAs Sagar说,你向PHP发送的是一个简单字符串,不是一个包含字段的对象。谢谢你的回答,我刚刚尝试过,但遗憾的是,test.php中仍然没有任何内容。。。我的数据库中的每个字段都是空的更新了我的答案,首先你需要检查
headerData
是否有数据。谢谢你的回答,我刚刚尝试过,但遗憾的是我在test.php中仍然没有任何内容。。。我的数据库中的每个字段都是空的更新了我的答案,首先你需要检查
headerData
是否有数据。是的,实际上我认为它可能是完美的。所以我把注意力集中在数据类型上part@zacknafein而不是方法:“POST”,我需要写类型:“POST”,“不,这两个是等价的。您需要使用“type”的唯一原因是如果您有一个非常旧的jQuery版本。这可能不是你需要改变的事情。根据“如果您使用的是jQuery 1.9.0之前的版本,则应使用type”中的文档。如果你有1.9或更高,使用“方法”,因为它更清晰。是的,实际上我认为它可能是完美的。所以我把注意力集中在数据类型上part@zacknafein而不是方法:“POST”,我需要写类型:“POST”,“不,这两个是等价的。您需要使用“type”的唯一原因是如果您有一个非常旧的jQuery版本。这可能不是你需要改变的事情。根据“如果您使用的是jQuery 1.9.0之前的版本,则应使用type”中的文档。如果你有1.9或更高,使用“方法”,因为它更清楚。