jq live的ajax函数调用
来源:互联网 发布:腾讯java工程师面试题 编辑:程序博客网 时间:2024/03/29 22:19
今天碰到一个很诡异的问题,在调用ajax函数处理的时候:
<a href="javascirp:void(0); class="ok" />确定 </a>
$('td .ok').live('click',function(){
var order_id=$(this).parent().attr('data-id');
var xt=$(this).siblings('input[name=total]').val();
if(isNaN(parseFloat(xt))) {
alert("请输入正确的金额!");
$(this).siblings('input[name=total]').val(total)
return false;
}
$.ajax({
url:'index.php?route=merchants/order_create/setOrderTotal',
data:{order_id:order_id,total:xt},
//data:'order_id='+order_id+'&total='+xt,
type:'post',
dataType: "json",
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
},
success: function(data, textStatus, jqXHR) {
//console.log(textStatus);
if(data.odt==1){
alert('修改成功!');
}else{
alert('修改失败!');
}
}
});
});
这样会跳到error函数里面,总是返回 jqXHR.status ===0,头都大了,不知道问题出现在哪里,
查找了N多,总结有两条原因:
1:跨域请求了数据,也就是发送的Url不对,
2:在提交之前浏览器重新刷新了页面
感觉这两点都不是 这个 问题出现的 原因,
也有的是说form表单应该放在table里面才有效,否则要写 $('aa').('submit','ddd';return false;)之类的。
最后看到 是 a href="javascript:void(0)"出现的问题,这么一来 调用 xhr.open 时 自然是出现 无效url,去掉javascript:void(0)即可。
这也可能就是a标签 在点击 调用ajax时 应该特别要注意的问题。
附注:
$("staticparentNode .child").live("click",function(){console.log("i am available no matter now and future")});和$("staticparentNode").on("click",".child",function(){console.log("so did I")});这两个作用是相同的,.live()只接受两个参数,而.on()可以接受四个参数,除了事件名和回调函数是必须之外,还可以接受一个选择器和一个数据对象
live已在1.9版本删除
以下事件触发td .ok
$('input[name=total]').live('keypress',function(e){
var keyunicode=e.charCode || e.keyCode;
if(keyunicode===13){
$(this).siblings('.ok').click(); // trigger the dynamically created 'anchor' stuff
}
});
- jq live的ajax函数调用
- jq的函数调用!!
- jq,js的ajax中调用$(this)
- JQ AJAX 调用后台方法--
- jq的ajax
- jq - ajax -的方法
- 关于JQ的AJAX
- jQ ajax的使用
- jq版的ajax
- jq的链式调用
- vue插件函数式调用【找回使用jq的回忆】
- JQ的Ajax的操作
- JQ的Ajax登陆 -3
- Jquery JQ AJAX 的使用
- jq的ajax 使用formdata
- JQ中AJAX的isModified
- 常用的JQ函数
- jq ajax之后函数不能使用问题
- 下载verycd的方法下载电驴资源隐藏资源的最新可用方法
- 在iframeset中从某个iframe跳转到另一个iframe
- copy 命令
- 对JavaScript原理的理解
- fcntl设置FD_CLOEXEC标志作用
- jq live的ajax函数调用
- sass学习——SassScript
- 戴尔私有化新变数:伊坎黑石加入导致三方竞购
- 黑马程序员—Set接口
- LINUX系统性能调谐
- sql server脚本笔记
- ASE : Display Available Device Space - Free Disk Space
- ioctl的相关理解
- cocos2d-x屏幕适配 三个参数含义