0

我编写了下面的代码来向链接发出 ajax 请求,如下面的代码所示。而不是使用 POST 请求进行 ajax 调用。页面通过地址栏中代码中的链接重定向到 index.html .. 为什么会这样?请帮忙

<script type="text/javascript" language="javascript">

$(document).ready(function() {

  $("#button").click(function() {
    $("#form1").validationEngine();
    if($('div input[type=text]').val() != "")
    {
      var textfield2=document.getElementById("textfield2").value;
      var textarea=document.getElementById("textarea").value;
      var urls="http://a_webite.com/pp.php?textfield2="+encodeURIComponent(textfield2)+"&textarea="+encodeURIComponent(textarea);
      //alert(url);
      $.ajax({
        type: "POST",
        url: urls,
        success: function(result) {
          $("#Sales_Body").empty().html("<h2>Your request has been received ");
        }
      });
    }
  }); 
});
</script>
4

3 回答 3

1

event未定义。将其添加为单击处理程序的参数。

$("#button").click(function(event){
     event.preventDefault();

目前点击处理程序失败,我假设表单被正常提交,而不是通过 Ajax。

于 2013-04-16T11:35:21.373 回答
0

一种简单的方法是将按钮输入类型更改为按钮,而不是提交。

        <input type="button" value="Hit me /> 
于 2013-04-16T12:18:17.267 回答
0

如果所有数据都通过 url 传递,为什么要将 type 设置为“POST”?您可以使用“GET”类型,仅将 url 设置为“ http://a_webite.com/pp.php ”并添加数据参数:

  $.ajax({
    type: "GET",
    url: "http://a_webite.com/pp.php",
    data: {'textfield2': $('#textfield2').val(), 'textarea': $('#textarea').val()},
    success: function(result) {
      $("#Sales_Body").empty().html("<h2>Your request has been received ");
    }
  });
于 2013-04-17T10:33:52.013 回答