2011-11-08 3 views
2

이 아닙니다. jquery를 사용하여 양식의 간단한 게시물을 만들고 있습니다. 문제는 POST가있는 $ .ajax가 작동하지만 $ post는 그렇지 않다는 것입니다. 아래의 코드를보고 : 난 그냥 오류 MSG를 얻기 위해 $ 아약스 판을 원했고까지

  $.ajax(
     { 
      url: url, 
      type: "POST", 
      data: form.serialize(), 
      success: function (result) { 
       alert('startline posted'); 
      }, 
      error: function (jqXhr, textStatus, errorThrown) { 
       alert("Error '" + jqXhr.status + "' (textStatus: '" + textStatus + "', errorThrown: '" + errorThrown + "')"); 
      } 
     }); 

가 $ .post 예를 디버깅 된

$.post(
     { 
      url: url, 
      data: form.serialize(), 
      success: function (result) { 
       alert('startline posted'); 
      }     
     }); 

그리고 작업 판. 그러나 불행히도 그것은 단지 작동했습니다.

두 가지 방법은 어떻게 다릅니 까?

+2

는 각각의 방법에 의해 생성 된 요청 사이에 차이가 있었다 그것을 시도? FireBug의 Net 탭과 같은 것으로 요청을 보면서 더 많은 정보를 얻을 수 있습니다. – David

+2

http://api.jquery.com/jQuery.post/ – PeeHaa

답변

2

jQuery.post의 매개 변수 형식은 url, data, callback, datatype입니다. jQuery.ajax의 매개 변수는 사용하는 경우 url, options 또는 단지 options입니다. 즉, $.post 호출의 형식이 잘못되었습니다. 당신이 $.post

$.post('url/here.php', { 

    data: form.serialize() 
}, function(result) { 

    alert('startline posted'); 
}); 
+0

감사합니다. 어떻게 알 수 있습니까? 이유를 설명한대로 대답을 얻습니다. –

0

. 이런 식으로 시도 :

$.post(url, form.serialize(), function (result) { 
       alert('startline posted'); 
      });  
1

$.post 여러 인수, $.ajax 싫어 하나의 오브젝트를 사용하는 방법이 아니다

2
$.post(url, form.serialize()) 
    .success(function (result) { 
       alert('startline posted'); 
}); 

은 디버깅에

관련 문제