ajax未发请求直接进异常,JQuery Ajax POST在没有发出请求的情况下抛出一个空错误...

我有一个函数,可以为任何锚点发出Ajax请求.请求方法可以是GET或POST.在这种情况下,我想在不使用表单的情况下进行POST,但Ajax请求在发送请求之前会抛出错误.错误的值为"error",所有错误/失败描述变量均为"".

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时,当使用serialize函数创建变量"data"时(例如"var data = $(this).serialize();").当我在没有"表单"的情况下发布POST时,"数据"的格式是不是错了?也许JQuery Ajax函数在发出POST时不接受像"partial = yes"这样的简单字符串作为数据.有什么想法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值