0

问题仍然存在...请帮助

使用 AJAX jquery 时无法加载外部文件。我想使用 Jquery ajax 弹出表单然后验证,在 mysql 中输入数据。但从一个简单的ajax函数开始。请让我知道我哪里出错了

<link rel="stylesheet" type="text/css" media="all" href="test_style.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>



<script>
$(document).ready(function(){
$("#ajax-contact-form").submit(function(){
var str = $(this).serialize();
$.ajax(
{
type: "POST",
url:"contact.php",
data: str,
success:function(result)
{
$("#div1").html(result);
}
});
});
});
</script>


</head>
<body>

<div id="contact_form">
<form id="ajax-contact-form" name="contact" action=""> 
<fieldset>
<label for="name" id="name_label">Name</label>
<input type="text" name="name" id="name" size="30" value="" class="text-input" />
<label class="error" for="name" id="name_error">This field is required.</label>

<INPUT class="button" type="submit" name="submit" value="Send Message">
</fieldset>
</form>
</div> 


</body>
</html>

和contact.php文件是

<?php
echo "Hello";
?>
4

4 回答 4

3

您需要return false;阻止表单提交和刷新页面并检查您$("#div1")是否丢失。

$(document).ready(function(){
     $("#ajax-contact-form").submit(function(){
         var str = $(this).serialize();
         $.ajax(
         {
             type: "POST",
             url:"contact.php",
             data: str,
             success:function(result)
             {
                  $("#div1").html(result);
             }
          });
      return false;
    });
});
于 2013-08-10T09:37:18.933 回答
0

确保您缺少 div1

请用

<div id="div1"><div>
于 2013-08-10T09:38:30.253 回答
0

简单的。由于您是通过 ajax 发布表单,因此您必须通过在 submit 方法中返回 false 来防止默认表单提交。下面是正确的版本:

<script>
$(document).ready(function(){
  $("#ajax-contact-form").submit(function(){
   var str = $(this).serialize();
  $.ajax({
     type: "POST",
     url:"contact.php",
     data: str,
     success:function(result) {
        $("#div1").html(result);
     }
  });
  return false;
 });
});
</script>
于 2013-08-10T09:42:26.113 回答
0

您可以使用更简单的发布请求形式,如下所示:

$.post("url",{var1: value1, var2: value2},function(data,status){
 if(status=='success')
   alert(data);
});

第二个参数,您可以使用此发布请求传递尽可能多的参数。第一个参数 url,如果当然,relative to the document in which this js is loaded或者您可以在服务器上给出确切的 url。

根据你的 php 文件,data=='Hello'。

GET任何请求的程序也类似。

于 2013-08-10T09:43:00.950 回答