2013-04-16 61 views
0

我编写了下面的代码来向链接发出ajax请求,如下面的代码所示。而不是使用POST请求发出ajax调用。该页面通过地址栏代码中的链接重定向到index.html。为什么会这样?请帮助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> 
+0

您是否也可以共享相关的html。你也尝试把AJAX函数的错误回调。 – defau1t

回答

1

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

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

在单击处理失败的那一刻,我假设的形式被提交正常,而不是通过Ajax。

+0

我删除了event.preventDefault();和我gotthe相同的结果 – user2286230

+2

是的,你仍然需要防止默认的表单提交。尝试添加上面的events参数或从click处理程序返回false。 –

0

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

 <input type="button" value="Hit me /> 
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 "); 
    } 
    });