Jquery Ajax不进行更改
我正在阅读一本关于PHP和jQuery的书,我遇到了Ajax的一个问题,因为它不会发布和显示更改Jquery Ajax不进行更改,jquery,ajax,Jquery,Ajax,我正在阅读一本关于PHP和jQuery的书,我遇到了Ajax的一个问题,因为它不会发布和显示更改 <head> <meta charset="utf-8" /> <title>Testing jQuery</title> </head> <body> <p>Hello World!</p> <p class="foo">Another paragra
<head>
<meta charset="utf-8" />
<title>Testing jQuery</title>
</head>
<body>
<p>Hello World!</p>
<p class="foo">Another paragraph, but this one ahs a class.</p>
<p><span>This is a span in a paragraph</span></p>
<p id="bar">Paragraph with an id.
<span class="foo">And this is a sentence in a span</span>
</p>
<script src="jquery.validate.min.js"></script>
<script src="jquery/ajax.js"></script>
<script src="jquery/jquery-1.8.3.min.js"></script>
<form action="#" method="post">
<fieldset>
<legend>Sign Up Form</legend>
<label for="name">Name</label><br/>
<input name="name" id="name" type="text" /><br/>
<label for="password">Password</label><br/>
<input name="password" id="password"
type="password" /><br/>
<label>
<input id="mycomp" type="radio" name="loc" />
I'm on my computer.
</label><br/>
<label>
<input id="shared" type="radio" name="loc" checked="checked" />
I'm on my shared computer.
</label>
<input type="submit" value="Log In" /><br/>
<label>
<input id="signedin" type="checkbox" name="notify"
disabled="true"/>
Keep me signed in on this computer.
</label><br/>
</fieldset>
</form>
</body>
</html>
我正在通过firebug控制台运行它,它似乎运行正常,但实际上什么都没有发生。好吧,我试着解释一下。 首先,当您想要使用ajax发送表单时,您不需要使用submit和标记的属性。您将函数分配给按钮或元素以提交表单,例如,此函数调用ajax 使用html,Jquery代码如下:
$('input[type=submit]').click(submitForm);
function submitForm(){
$.ajax({
"type":"POST",
"url":"ajax.php",
"data":"var1=val1&var2=val2",
"success":function(data){
$("#bar")
.css("background","yellow")
.html(data);
}
});
}
如果您发送POST,则必须发送数组中的变量或类似的内容:
"data": {
var1:val1,
var2:val2
}
$('input[type=submit]').click(submitForm);
function submitForm(){
$.ajax({
"type":"POST",
"url":"ajax.php",
"data": {
var1:val1,
var2:val2
},
"success":function(data){
$("#bar")
.css("background","yellow")
.html(data);
}
});
}
您可以在ajax.php中的$_POST[var1]和$_POST[var2]中接收到
因此,您的javascript/Jquery代码如下所示:
"data": {
var1:val1,
var2:val2
}
$('input[type=submit]').click(submitForm);
function submitForm(){
$.ajax({
"type":"POST",
"url":"ajax.php",
"data": {
var1:val1,
var2:val2
},
"success":function(data){
$("#bar")
.css("background","yellow")
.html(data);
}
});
}
如果你有任何问题,告诉我。我希望这对您有用。我看不到任何东西会导致success函数不更新#bar元素。你确定电话成功了吗?尝试添加一个“error”函数,看看是否调用了该函数。定义“nothing is beging”。你说你在用Firebug调试这个?当您单步执行每一行代码时,它在哪里失败?是否发出了预期的网络请求?服务器的响应是什么?jQuery选择器是否找到您希望它找到的元素?等等,你的php文件里有什么?你从那里返回了什么吗?它没有抛出错误,我不知道为什么它不会修改它。失败时AJAX调用不应该抛出错误。遵循@Tyler的建议。AJAX Post数据可以使用查询字符串生成,它不需要是对象。是的,但是发送一个字符串,就像GET请愿一样。我想