我将此网站上的其他答案和各种教程拼凑在一起。不知道为什么它不起作用,我没有其他方法的运气。
这是我的页面部分html:
<form id="newMovie" >
Title:<input type='text' id='title'/>
Genres:<input type='text' id='genres'/>
Cast:<input type='text' id='cast'/>
Director:<input type='text' id='director'/>
Metascore:<input type='text' id='metascore'/>
<input type="button" value="Send" id="theButton"/>
</form>
...
<table>
<tr>
<td id="tr1td1">
<p>..</p>
</td>
...
在“theButton”上单击,我想从表单中的输入中获取值并将其POST到php脚本,这是我的AJAX:
<script>
$(document).ready(function(){
$("#theButton").click(function(){
var titleData = $('#title');
alert(titleData);
我在这里有一个警告调试,这个警报甚至没有弹出,所以在我们到达这里之前似乎失败了?
var genresData = $('#genres');
var castData = $('#cast');
var directorData = $('#director');
var metascoreData = $('#metascore');
var dataIn = {
title : titleData.val();
genres : genreData.val();
cast : castData.val();
director : directorData.val();
metascore : metascoreData.val();
}
var dataOut = $('#tr1td1');
$.post("..../insert.php", dataIn, function(data, status) {
dataOut.html(data);
});
});
});
</script>
在PHP脚本中,我会试着抓住像这样的值:
$titleData=$_POST['title'];
$genresData=$_POST['genres'];
$castData=$_POST['cast'];
$directorData=$_POST['director'];
$metascoreData=$_POST['metascore'];
答案 0 :(得分:2)
Javascript对象属性以逗号,
分隔,而不是分号。另外,在某些浏览器中还有其他问题 - 不要划分最终属性。
答案 1 :(得分:2)
您的评论指向错误:
未捕获的语法错误:意外;在第27行,这是&#34; dataIn&#34;中的第一行。括号
你的对象构造中有错误的分号:
var dataIn = {
title : titleData.val();
genres : genreData.val();
cast : castData.val();
director : directorData.val();
metascore : metascoreData.val();
}
应该是:
var dataIn = {
title : titleData.val(),
genres : genreData.val(),
cast : castData.val(),
director : directorData.val(),
metascore : metascoreData.val()
};
对象文字是一个以逗号分隔的属性列表,作为单个整行代码,而不是单独的代码行。
答案 2 :(得分:1)
你的方式太长了,你缺少name =“”attrib in tags和
将tag =“”添加到标记中 你可以把它变得更简单,如下面
首先改变你的
<input type="button" value="Send" id="theButton"/>
与
<button type="button" id="theButton" name="SubBtn" onclick="postsomething();">Send</button>
在
<script type="text/javascript">
function postsomething() {
$.ajax({
type: 'POST',
url: '../insert.php', //your php file
data: $('#newMovie').serialize(), //here your form id
success: function (answer) {
$("#result").html(answer) //if you wanna return data from your php file
}
})
}
</script>