首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jquery.ajax异常

2012-04-10 
jquery.ajax错误JScript codevar gridpagesize 10jQuery(document).ready(function () {$(input[ltype

jquery.ajax错误

JScript code
  var gridpagesize = 10;        jQuery(document).ready(function () {            $("input[ltype=date]", this).ligerDateEditor({ showTime: true, labelAlign: 'left' });            GetAllDates(null, null, 1, 10);            var keybox = jQuery("#Seachkey").ligerGetComboBoxManager();            jQuery("#Seachval").ligerTextBox();            var txtValue = jQuery("#Seachval").ligerGetTextBoxManager();            jQuery("#btnSearch").click(function () {                GetAllDates(keybox.getValue(), txtValue.getValue(), 1, gridpagesize);                return false;            })            //获取日期            $("#txttime").change(function () {                jQuery('#<%=ReciveDate.ClientID %>').val($("#txttime").val());            });        });        function GetAllDates(key, val, pageindex, pagesize) {            var ajaxdata = { "PageIndex": pageindex, "PageSize": pagesize };            if (val) {                ajaxdata = { "key": key, "value": val, "PageIndex": pageindex, "PageSize": pagesize, "t": new Date().getTime() }                jQuery("#Seachkey").val(key);                jQuery("#Seachval").val(val);            }            else if (jQuery("#Seachval").val()) {                ajaxdata = { "key": jQuery("#Seachkey").val(), "value": jQuery("#Seachval").val(), "PageIndex": pageindex, "PageSize": pagesize, "t": new Date().getTime() }            }            jQuery.ajax({                type: "get", //(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。                url: 'GetTableData.aspx',                timeout: 6000, //设置请求超时时间(毫秒)。此设置将覆盖全局设置。                dataType: "json", //                    data: ajaxdata,                beforeSend: function (XMLHttpRequest) {                    //    发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头                    jQuery.ligerDialog.waitting('正在加载中,请稍候...');                },                success: function (data, textStatus) {                    //    请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态                    BindTable(data);                    // jQuery("#jMenu").jMenu()                    jQuery("#Pageing").PageControl({ TotalRows: data.Total, PageSize: pagesize, CurrentPage: pageindex, onChangePage: function (page, size) { gridpagesize = size; GetAllDates(null, null, page, size); } });                    // jQuery.ligerDialog.closeWaitting();                },                complete: function (XMLHttpRequest, textStatus) {                    //请求完成后回调函数 (请求成功或失败时均调用)。                    // if (textStatus != "success") {                    //   jQuery.ligerDialog.closeWaitting();                    // }                },                error: function (jqXHR, textStatus, errorThrown) {                    // jQuery.ligerDialog.closeWaitting();                    //请求出错处理                    //(默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。                }            });        }        var usergrid;        function BindTable(ParaData) {            if (usergrid) {                usergrid.loadData(ParaData);            }            else {                usergrid = jQuery("#Mydiv").ligerGrid({                    checkbox: true,                    columns: [            { display: '客户姓名', name: 'CustomerName' },            { display: '收获日期', name: 'Harvestdate' },            { display: '产品名称', name: 'Productnames' },            { display: '购买时间', name: 'BuyTime' },            { display: 'SN编码', name: 'SnNode' },            { display: '物品外观', name: 'AppearanceStyle' },            { display: '上家标签', name: 'SellerLabel' },            { display: '故障明细', name: 'FailureDetails' },            { display: '业务经理', name: 'BusinessManager' },            { display: '状态', name: 'Status' },            { display: '返货时间', name: 'ReturnTime' },            { display: '备注', name: 'Remarks' }                 ],                    data: ParaData,                    root: 'Rows',                    usePager: false,                    sortName: 'CustomerID',                    checkbox: false,                    frozenDetail: false,                    frozenCheckbox: false                });            }        } 


实在是找不出来 错误是JSON.parse: unexpected character 求高手指点 在线等

[解决办法]
JSON.parse
json格式错误,解析不了

确保返回的是正确的json格式

[解决办法]
这样直接调用是没问题的

<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.ajax({
type: "get", //(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。
url: 'GetTableData.aspx',
timeout: 6000, //设置请求超时时间(毫秒)。此设置将覆盖全局设置。
dataType: "json", // 
success: function (data, textStatus) {
alert(data.Rows)
}
}
);
</script>
[解决办法]
首先,你用的是jquery的压缩版本,根本不是供调试用的,如果要调试,你需要它的未压缩版(不带min后缀的文件)。
其次,除非jquery本身有bug,不然很难从jquery类库代码给出的出错信息中找出原因。
你在error: function (jqXHR, textStatus, errorThrown) {}块里alert(errorThrown + " " + textStatus);看出错信息,若看不出什么,alert一下ajax请求前的ajaxdata和success时返回的data,设断点调试,看看哪里出错。


热点排行