我正在尝试从下拉框中取值并将它们发送到PHP文件,该文件将根据所选的组合从mySQL数据库中绘制适当的字段,并在div中显示它而不使用AJAX刷新页面。我对第二部分进行了排序,但我仍然坚持第一部分。
以下是HTML:http://jsfiddle.net/SYrpC/
这是我在主文档头部的Javascript代码:
var mode = $('#mode');
function get() {$.post ('data.php', {name: form.him.value, the_key: #mode.val()},
function(output) {$('#dare').html(output).show();
});
}
我的PHP(用于测试目的)是:
$the_key = $_POST['the_key'];
echo $the_key;
我在PHP中将它作为一个变量后我可以操作它,但是我遇到了麻烦。我哪里错了?谢谢你的回复!
答案 0 :(得分:0)
您还需要一个回调函数来让服务器响应POST。
$ .post('ajax / test.html',function(data){ $( '结果')HTML(数据)。 });
此片段将发布到ajax / test.html,并且在回复时将使用具有响应的参数数据调用匿名函数。然后在这个匿名函数中将带有result的类设置为具有服务器响应的值。
帮助?让我知道,如果您需要更多信息,我们可以解决这个问题。
此外,jQuery中的$ .post是
的简短形式$。AJAX({ 类型:'POST', url:url, 数据:数据, 成功:成功 dataType:dataType });
答案 1 :(得分:0)
你的jquery选择器错了:
html:
<select id="mode">
jquery selector:
$("#mode").val();
html:
<select name="player">
jquery selector:
$("select[name=player]").val();
答案 2 :(得分:0)
你想为你的ajax请求添加一个回调,这不是很难做到,这里甚至会给你一个例子:
$.ajax({
url: "http://stackoverflow.com/users/flair/353790.json", //Location of file
dataType: "josn",//Type of data file holds, text,html,xml,json,jsonp
success : function(json_data) //What to do when the request is complete
{
//use json_data how you wish to.;
},
error : function(_XMLHttpRequest,textStatus, errorThrown)
{
//You fail
},
beforeSend : function(_XMLHttpRequest)
{
//Real custom options here.
}
});
以上大多数回调都是可选的,在您的情况下,我会执行以下操作:
$.ajax({
url: "data.php",
dataType: "text",
data : {name: ('#myform .myinput').val(),the_key: $('#mode').val()},
success : function(value)
{
alert('data.php sent back: ' + value);
}
});
如果需要,您应该始终设置url,success
和data
,请阅读The Documentation以获取更多信息。