第二个$.ajax调用卡住了代码
我有一个带有$.ajax的ajax+jquery导航系统,我正在尝试第二次调用$.ajax来发送一个联系人表单infos,但是,当我添加第二个$.ajax时,所有这些都停止了工作 第一个电话-第二个$.ajax调用卡住了代码,ajax,jquery,Ajax,Jquery,我有一个带有$.ajax的ajax+jquery导航系统,我正在尝试第二次调用$.ajax来发送一个联系人表单infos,但是,当我添加第二个$.ajax时,所有这些都停止了工作 第一个电话- function loadPage(url) { url=url.replace('#!',''); $('#loading').css('visibility','visible'); $.ajax({ type: "POST", url: "
function loadPage(url)
{
url=url.replace('#!','');
$('#loading').css('visibility','visible');
$.ajax({
type: "POST",
url: "loader.php",
data: 'page='+url,
dataType: "html",
success: function(msg){
if(parseInt(msg)!=0)
{
$('#conteudo').html(msg);
$('#loading').css('visibility','hidden');
}
}
});
}
第二次呼叫
$("#enviar").click(function() {
var str = $("form").serializeArray();
$.ajax({
type: "POST",
url: "update.php",
data: str,
success: function(mn) {
if(parseInt(mn)!=0)
{
$("#conteudo").html(mn);
$("#enviado").css('visibility','visible');
}
}
return false;
});
@编辑
非常好!第一个ajax不再是呆板的,但是第二个没有像预期的那样工作
这是为了将$\u POST值解析为php脚本,如果ok,只需将div变为可见
我是怎么做到的-
<form name="formcontato" id="form">
<fieldset>
<label>Seu nome</label>
<input type="text" name="nome" class="input-block-level">
<label>Email</label>
<input type="email" name="email" placeholder="seu@email.com" class="input-block-level">
<div class="form-actions">
<input type="button" name="enviar" value="Enviar" id="enviar" class="btn btn-baixar" />
</div>
</fieldset>
</form>
这是js
if($_POST) {
$nome = trim($_POST['nome']);
echo $nome;
}
这是update.php在您发布的内容中,第二个函数没有使用
}正确关闭$.ajax()
函数因此它将生成一个解析错误,并且该块中的任何代码都不可用
在成功关闭$.ajax()
调用的地方尝试此操作
$("#enviar").click(function () {
var str = $("form").serializeArray();
$.ajax({
type: "POST",
url: "update.php",
data: str,
success: function (mn) {
if (parseInt(mn) != 0) {
$("#conteudo").html(mn);
$("#enviado").css('visibility', 'visible');
}
}
});
return false;
});
仅供参考,正确且一致的缩进对于发现这些问题至关重要。@JordanMiguel-对不起,我不懂PHP。StackOverflow旨在让您继续编辑问题,以添加越来越多的问题。这意味着你提出一个问题,我们提供一个答案,你接受解决这个问题的最佳答案。如果在此之后您还有更多问题,您可以问一个新问题。@JordanMiguel-我建议您在第二个ajax函数的成功处理程序中放置一个断点或console.log()
,然后查看mn
是什么。对此我很抱歉!我放了一个控制台。log(mn);进入函数,但当我单击此按钮时,不会显示任何内容。@JordanMiguel-然后,您需要查看错误控制台中是否有正在发生的脚本错误正在停止执行,或者您需要安装错误处理程序函数(就像您的成功:
函数一样,并查看控制台.log()发生了什么错误)
在error函数中。这是基本的javascript调试。您需要学习如何使用这些工具来查看何时出现错误以及错误在何处。由于我们无法运行您的代码来查看这些信息,因此我们只能建议您自己使用这些工具来获取更多信息。我使用firebug来检查我的代码是否有错误,而这并不重要返回任何错误:/
$("#enviar").click(function () {
var str = $("form").serializeArray();
$.ajax({
type: "POST",
url: "update.php",
data: str,
success: function (mn) {
if (parseInt(mn) != 0) {
$("#conteudo").html(mn);
$("#enviado").css('visibility', 'visible');
}
}
});
return false;
});