我一直在关注Youtube中的本教程!它只是不想以我想要的方式工作。
我在index.php中得到了这段代码:
<form action="scripts/keys.php" class="ajax" method="post">
<p>Key:</p>
<input type="text" name="key" class="key_input" autocomplete="off" autofocus />
<input type="submit">
</form>
我的main.js中的代码:
$('form.ajax').on('submit', function(){
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[key]').each(function(index, value){
var that = $(this),
name = that.attr(''),
value that.val('');
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(response) {
console.log(response);
}
});
return false;
});
最后是我的keys.php:
if(isset($_POST['key'])) {
echo 'lol';
}
出于某种原因,当我提交表单时,它仍然会将我发送给keys.php,我不明白,当我使用return false时。
有人可以解释我做错了什么吗?不要告诉我正确的代码,只是我需要改变的地方:)
答案 0 :(得分:3)
语法错误,缺少equalsign
that.find('[key]').each(function(index, value){
var that = $(this),
name = that.attr(''),
value that.val(''); // HERE
// ^^
data[name] = value;
});
将PHP更改为
if(isset($_POST['key'])) {
echo 'lol';
}