2013-04-16 3 views
0

아래 코드와 같이 링크에 대해 ajax 요청을하기 위해 아래 코드를 작성했습니다. 대신 POST 요청을 사용하여 ajax 호출을 작성합니다. 페이지는 주소 표시 줄의 코드에있는 링크로 index.html로 리디렉션됩니다. 왜 그렇게됩니까? pls 도움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는 정의되지 않습니다. 이를 클릭 핸들러의 매개 변수로 추가하십시오.

클릭 처리기가 실패하고 양식이 Ajax가 아닌 정상적으로 제출되었다고 가정합니다.

+0

나는 event.preventDefault()를 제거했다; 동일한 결과가 나타납니다. – user2286230

+2

그래, 여전히 기본 양식 제출을 막아야합니다. 위와 같이 events 매개 변수를 추가하거나 클릭 핸들러에서'return false'를 추가하십시오. –

0

버튼 입력 유형을 제출하는 대신 버튼으로 변경하는 것도 쉬운 방법 중 하나입니다.

0

모든 데이터가 URL을 통해 전달되는 경우 유형을 '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 "); 
    } 
    });