모든 앵커에 대해 Ajax 요청을하는 함수가 있습니다. 요청 메소드는 GET 또는 POST 일 수 있습니다. 이 경우 폼을 사용하지 않고 POST를 만들고 싶지만 Ajax 요청은 요청을 보내기 전에 오류를 throw합니다. 오류 값은 "error"이며 모든 오류/실패 설명 변수는 ""입니다.JQuery Ajax 요청을하지 않고 빈 오류가 발생하는 POST
function loadPage(url,elem_id,method,data) {
ajaxLoading(elem_id);
$.ajax({
type: method,
url: url,
data: data,
success:function(data){
$("#"+elem_id).html(data);;
},
error:function(request,textStatus,error){
alert(error);
}
});
}
함수가 호출되는 PARAMS합니다 (JS 콘솔에서 복사)이 있습니다
요청으로data: "partial=yes"
elem_id: "page"
method: "post"
url: "/projects/2/follow"
, 여기에 loadPage 함수를 호출하는 코드입니다.
$("body").on("click","a.ajax",function(event) {
var _elem = getDataElem($(this));
var _method = getRequestMethod($(this));
var _partial = getRequestPartial($(this));
handlers.do_request(event,$(this).attr("href"),_elem, _method, _partial);
});
var handlers = (function() {
var obj = {};
obj.do_request = function(event,url,elem_id,method,data) {
event.preventDefault();
loadPage(url,elem_id,method,data);
history.pushState({selector:elem_id,method:method,data:data},null,url);
};
}());
Ajax 요청이 실패하면 요청이 기본적으로 이루어지고 응답이 성공합니다. 내가 읽었을 때, 이것은 POST 요청 (폼이 필요 없음)을 만드는 유효한 방법 인 것 같다.
기능에 문제가 있습니까? 오류 정보가 비어있는 이유는 무엇입니까?
감사
편집 :
내가 변수 "데이터"가 직렬화 기능으로 만든 작품을 기능에 "형태"에서 POST에 대해 생각하고있다 (예 : "VAR 데이터 = $ (this) .serialize(); "). 내가 "양식"없이 POST를 할 때 "데이터"의 형식이 어쩌면 틀린가? 아마도 JQuery Ajax 함수는 POST가 수행 될 때 데이터로 "partial = yes"와 같은 간단한 문자열을 허용하지 않을 수도있다. 이것에 대한 어떤 생각?
요청 및 textstatus 변수가 비어 있습니다. –
'게시'를 대문자로 표시해야합니까? 그것은 문서에 있습니다. –
'loadPage'를 어떻게 호출하는지 보여주는 코드를 게시 할 수 있습니까? – 1337holiday