Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Ajax提交表单并获得一些文本_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何使用Ajax提交表单并获得一些文本

Javascript 如何使用Ajax提交表单并获得一些文本,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,这是我的代码: $(“form.signupform”).submit(函数(e){ e、 预防默认值(); var data=$(this.serialize(); var url=$(this.attr(“操作”); var form=$(this);//添加此行 $.post(url、数据、函数(数据){ $(form.children(“.signupresult”).html(data.signupresult); $(form).children(“.signupresult”).

这是我的代码:

$(“form.signupform”).submit(函数(e){
e、 预防默认值();
var data=$(this.serialize();
var url=$(this.attr(“操作”);
var form=$(this);//添加此行
$.post(url、数据、函数(数据){
$(form.children(“.signupresult”).html(data.signupresult);
$(form).children(“.signupresult”).css(“不透明”,“1”);
});
返回false;
});


您必须告诉您的请求您希望JSON作为返回。Else data.signupresult没有意义;数据被视为一个字符串

我总是使用$.ajax,从不使用$.post;我发现添加选项更容易

$.ajax({
  url: $(this).attr("action"),
  dataType: 'JSON',
  type: 'post', 
  data: $(this).serialize(),
  success: function(data) {
    ...
  }
})

看起来您可能在jQuery submit watcher中缺少了一个
e.preventDefault()
,请注意,您应该执行
var form=$(此操作)以便可以使用该变量,而不是重复$(this)jQuery构造函数。在你的帖子中,从表单中删除$()。它已经是jquery对象了。它与一个内联的
onsubmit
混合在一起。我建议删除它,只需将
e.preventDefault()
添加到jQuery提交函数中即可。修复我们建议的几个调整,这样就不会出现表单只提交一次的情况。使用浏览器开发工具,特别是“网络”选项卡,观看“XHR”活动。会发生什么?又发了吗?如果是,反应如何?@Taplar-同意!我在编辑你提交的评论,因为我同意,wierdness可能是问题的根源。