我正在尝试在jQuery中使用POST方法来发出数据请求。所以这是html页面中的代码:
<form>
Title : <input type="text" size="40" name="title"/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
var title=f.title.value;
$.ajax({
type: "POST",
url: "edit.php",
data: {title:title} ,
success: function(data) {
$('.center').html(data);
}
});
}
</script>
这是服务器上的php代码:
<?php
$title = $_POST['title'];
if($title != "")
{
echo $title;
}
?>
根本没有发出POST请求,我不明白为什么。这些文件位于wamp www文件夹的同一个文件夹中,所以至少url没有错。
答案 0 :(得分:9)
您需要使用data: {title: title}
正确发布。
在PHP代码中,您需要echo
值,而不是return
。
答案 1 :(得分:3)
检查标题是否有任何价值。如果没有,则使用Id。
来检索该值<form>
Title : <input type="text" id="title" size="40" name="title" value = ''/>
<input type="button" onclick="headingSearch(this.form)" value="Submit"/><br /><br />
</form>
<script type="text/javascript">
function headingSearch(f)
{
var title=jQuery('#title').val();
$.ajax({
type: "POST",
url: "edit.php",
data: {title:title} ,
success: function(data) {
$('.center').html(data);
}
});
}
</script>
试试这段代码。
在php代码中,使用 echo 而不是返回。只有这样,javascript数据才会有价值。
答案 2 :(得分:0)
我建议您使用更简单的方法 -
$.post('edit.php', {title: $('input[name="title"]').val() }, function(resp){
alert(resp);
});
试试这个,我觉得它的语法比$ .ajax的语法简单......
答案 3 :(得分:0)
尝试
$(document).on("submit", "#form-data", function(e){
e.preventDefault()
$.ajax({
url: "edit.php",
method: "POST",
data: new FormData(this),
contentType: false,
processData: false,
success: function(data){
$('.center').html(data);
}
})
})
按钮的形式必须为type="submit"
答案 4 :(得分:0)
function signIn()
{
var Username = document.getElementById("Username").value;
var Password = document.getElementById("Password").value;
$.ajax({
type: 'POST',
url: "auth_loginCode.jsp",
data: {Username: Username, Password: Password},
success: function (data) {
alert(data.trim());
window.location.reload();
}
});
}
答案 5 :(得分:-1)
contentType: 'application/x-www-form-urlencoded'