Javascript 无法使用jQuery AJAX发送多个数据参数
我正在尝试使用Ajax将值发送到其他页面 但我无法接受这些价值观,我不知道我错在哪里 这是我的密码Javascript 无法使用jQuery AJAX发送多个数据参数,javascript,php,ajax,Javascript,Php,Ajax,我正在尝试使用Ajax将值发送到其他页面 但我无法接受这些价值观,我不知道我错在哪里 这是我的密码 <script type="text/javascript"> function get_more_info() { // Call to ajax function var fval = document.getElementById('get_usecompny').value; var dataString1 = "fval="+fval; alert(fval); var sv
<script type="text/javascript">
function get_more_info() { // Call to ajax function
var fval = document.getElementById('get_usecompny').value;
var dataString1 = "fval="+fval;
alert(fval);
var sval = document.getElementById('country').value;
var dataString2 = "sval="+sval;
alert(sval);
$.ajax({
type: "POST",
url: "getmoreinfo.php", // Name of the php files
data: "{'data1':'" + dataString1+ "', 'data2':'" + dataString2+ "'}",
success: function(html)
{
$("#get_more_info_dt").html(html);
}
});
}
</script>
函数get\u more\u info(){//调用ajax函数
var fval=document.getElementById('get_usecompny')。值;
var dataString1=“fval=”+fval;
警报(fval);
var sval=document.getElementById('country')。值;
var dataString2=“sval=”+sval;
警报(sval);
$.ajax({
类型:“POST”,
url:“getmoreinfo.php”,//php文件的名称
数据:“{'data1':'”+dataString1+“,'data2':'“+dataString2+”}”,
成功:函数(html)
{
$(“#获取更多信息”)html(html);
}
});
}
在警报中,我收到了这些值,但在“getmoreinfo.php”页面中,我没有收到任何值
这是我的“getmoreinfo.php”页面代码
if ($_POST) {
$country = $_POST['fval'];
$country1 = $_POST['sval'];
echo $country1;
echo "<br>";
echo $country;
}
if($\u POST){
$country=$_POST['fval'];
$country1=$_POST['sval'];
echo$country1;
回声“
”;
回声$国家;
}
请告诉我哪里错了。!抱歉,英语不好您传递的参数名称与您试图读取参数时使用的名称不同 您的
数据:
参数可以做得更简单,如下所示
<script type="text/javascript">
function get_more_info() { // Call to ajax function
var fval = document.getElementById('get_usecompny').value;
var sval = document.getElementById('country').value;
$.ajax({
type: "POST",
url: "getmoreinfo.php", // Name of the php files
data: {fval: fval, sval: sval},
success: function(html)
{
$("#get_more_info_dt").html(html);
}
});
}
</script>
无需创建“dataString”变量。您可以将数据显示为对象:
$.ajax({
...
data: {
'fval': fval,
'sval': sval
},
...
});
在PHP中,您可以访问如下数据:
$country = $_POST['fval'];
$country1 = $_POST['sval'];
jqueryajax对象的属性“data”必须是一个简单的对象数据。JQuery将根据请求自动将对象解析为参数:
$.ajax({
type: "POST",
url: "getmoreinfo.php",
data: {
fval: document.getElementById('get_usecompny').value,
sval: document.getElementById('country').value
},
success: function(html) {
$("#get_more_info_dt").html(html);
}
});
您正在发送的密钥是
data1
,而不是fval
。这是一个重复项,被多次询问:例如,数据:
值应该是对象{fval:dataString1,sval:dataString2}
,它应该是一个对象而不是字符串。不要在字段值前加上“fval=“
或”sval=“
。@RiggsFolly这当然可能,但我怀疑OP是否真的想要“fval=something”
作为参数值。感谢输出是这样的“sval=4 fval=58”,这太棒了,但我得到的输出像“sval=4 fval=58”,我只需要4和58Hmmm,屏幕上的字段中有什么?i、 e.这个返回什么document.getElementById('get_usecompny')。value
在将屏幕字段的内容传递给PHP之前,您是否删除了我删除的代码
$.ajax({
type: "POST",
url: "getmoreinfo.php",
data: {
fval: document.getElementById('get_usecompny').value,
sval: document.getElementById('country').value
},
success: function(html) {
$("#get_more_info_dt").html(html);
}
});