使用jquery 的ajax調(diào)用總是錯(cuò)誤親測(cè)的解決方法
更新時(shí)間:2013年07月02日 11:21:24 作者:
使用jquery 的ajax功能調(diào)用一個(gè)頁(yè)面,卻發(fā)現(xiàn)總是出現(xiàn)錯(cuò)誤,經(jīng)過(guò)這么多測(cè)試終于正常了,尤其是 dataType: 'json',看來(lái)jquery有很?chē)?yán)格的驗(yàn)證機(jī)制
使用jquery 的ajax功能調(diào)用一個(gè)頁(yè)面,卻發(fā)現(xiàn)總是出現(xiàn)錯(cuò)誤。
js代碼如下
$.ajax({
type: 'post',
url: 'TestData.aspx',
data: {
language_type: 'cn'},
dataType: 'json',
success: function (data) {
alert('ok');
},
error: function (data) {
alert('err');
});
}
TestData.aspx代碼如下,省略了后邊一些代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestData.aspx.cs" Inherits="Demand_TestData" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
TestData.aspx.cs代碼如下
public partial class Demand_TestData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<TestC> t=new List<TestC> ();
for (int i = 0; i < 10; i++)
{
TestC c = new TestC();
c.RD_ID = i;
t.Add(c);
}
string test = JsonConvert.SerializeObject(t);
Response.ContentType = "application/Json";
Response.Write(test);
Response.Clear();
}
}
public class TestC
{
public int RD_ID
}
可就是這么短短幾行代碼,jquery總是報(bào)錯(cuò),如果把 dataType: 'json', 修改為其他類(lèi)型就不會(huì)錯(cuò)了,很奇怪,可我的系統(tǒng)里,需要的是'json對(duì)象
最后經(jīng)過(guò)反復(fù)測(cè)試才發(fā)現(xiàn)修改了如下地方的代碼后終于正常了
1去掉TestData.aspx.cs頁(yè)面中的Response.Clear();具體什么原因不清楚
2修改類(lèi)TestC為如下形式,也就是給字段添加了讀取設(shè)置屬性
public class TestC
{
private int rD_ID;
public int RD_ID
{
get { return rD_ID; }
set { rD_ID = value; }
}
}
3刪除TestData.aspx頁(yè)面中的所有代碼,只保留第一行,修改后的代碼如下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestData.aspx.cs" Inherits="Demand_TestData" %>
經(jīng)過(guò)這么多測(cè)試終于正常了
我發(fā)現(xiàn)使用jquery的ajax的經(jīng)?;靥脲e(cuò)誤的處理流程,尤其是 dataType: 'json',看來(lái)jquery有很?chē)?yán)格的驗(yàn)證機(jī)制,看來(lái)這個(gè)一定要注意,否則就會(huì)錯(cuò)誤
js代碼如下
復(fù)制代碼 代碼如下:
$.ajax({
type: 'post',
url: 'TestData.aspx',
data: {
language_type: 'cn'},
dataType: 'json',
success: function (data) {
alert('ok');
},
error: function (data) {
alert('err');
});
}
TestData.aspx代碼如下,省略了后邊一些代碼
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestData.aspx.cs" Inherits="Demand_TestData" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
TestData.aspx.cs代碼如下
復(fù)制代碼 代碼如下:
public partial class Demand_TestData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<TestC> t=new List<TestC> ();
for (int i = 0; i < 10; i++)
{
TestC c = new TestC();
c.RD_ID = i;
t.Add(c);
}
string test = JsonConvert.SerializeObject(t);
Response.ContentType = "application/Json";
Response.Write(test);
Response.Clear();
}
}
public class TestC
{
public int RD_ID
}
可就是這么短短幾行代碼,jquery總是報(bào)錯(cuò),如果把 dataType: 'json', 修改為其他類(lèi)型就不會(huì)錯(cuò)了,很奇怪,可我的系統(tǒng)里,需要的是'json對(duì)象
最后經(jīng)過(guò)反復(fù)測(cè)試才發(fā)現(xiàn)修改了如下地方的代碼后終于正常了
1去掉TestData.aspx.cs頁(yè)面中的Response.Clear();具體什么原因不清楚
2修改類(lèi)TestC為如下形式,也就是給字段添加了讀取設(shè)置屬性
復(fù)制代碼 代碼如下:
public class TestC
{
private int rD_ID;
public int RD_ID
{
get { return rD_ID; }
set { rD_ID = value; }
}
}
3刪除TestData.aspx頁(yè)面中的所有代碼,只保留第一行,修改后的代碼如下
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestData.aspx.cs" Inherits="Demand_TestData" %>
經(jīng)過(guò)這么多測(cè)試終于正常了
我發(fā)現(xiàn)使用jquery的ajax的經(jīng)?;靥脲e(cuò)誤的處理流程,尤其是 dataType: 'json',看來(lái)jquery有很?chē)?yán)格的驗(yàn)證機(jī)制,看來(lái)這個(gè)一定要注意,否則就會(huì)錯(cuò)誤
您可能感興趣的文章:
- JQuery ajax中error返回錯(cuò)誤及一直返回error的解答
- jquery中ajax使用error調(diào)試錯(cuò)誤的方法
- ASP.NET中MVC使用AJAX調(diào)用JsonResult方法并返回自定義錯(cuò)誤信息
- 空格或者空白字符導(dǎo)致$.ajax()報(bào)parseerror錯(cuò)誤小結(jié)
- Jquery ajax執(zhí)行順序 返回自定義錯(cuò)誤信息(實(shí)例講解)
- JQuery.Ajax之錯(cuò)誤調(diào)試幫助信息介紹
- jquery formValidator插件ajax驗(yàn)證 內(nèi)容不做任何修改再離開(kāi)提示錯(cuò)誤的bug解決方法
- Jquery ajax不能解析json對(duì)象,報(bào)Invalid JSON錯(cuò)誤的原因和解決方法
- Ajax犯的錯(cuò)誤處理方法
相關(guān)文章
Ajax中數(shù)據(jù)傳遞的另一種模式 javascript Object Notation思想(JSON)
JSON是一個(gè)誘人的技術(shù),準(zhǔn)備做一個(gè)大量的試用。希望屆時(shí)可以獲取大的性能提高。2010-12-12AJAX+Servlet實(shí)現(xiàn)的數(shù)據(jù)處理顯示功能示例
這篇文章主要介紹了AJAX+Servlet實(shí)現(xiàn)的數(shù)據(jù)處理顯示功能,結(jié)合實(shí)例形式分析了前臺(tái)ajax與后臺(tái)Servlet生成隨機(jī)數(shù)顯示的相關(guān)交互操作技巧,需要的朋友可以參考下2018-06-06Ajax實(shí)現(xiàn)彈出式無(wú)刷新城市選擇功能代碼
這篇文章主要介紹了Ajax實(shí)現(xiàn)彈出式無(wú)刷新城市選擇功能代碼,實(shí)例分析了Ajax彈出窗口及無(wú)刷新選擇數(shù)據(jù)項(xiàng)的相關(guān)技巧,需要的朋友可以參考下2015-08-08解決ajax回調(diào)函數(shù)返回的字符串亂碼問(wèn)題
ajax回調(diào)函數(shù),返回的字符串亂碼問(wèn)題很是讓人痛恨,下面有個(gè)不錯(cuò)的解決方法,大家可以參考下2014-01-01零基礎(chǔ)學(xué)習(xí)AJAX之AJAX的簡(jiǎn)介和基礎(chǔ)
本系列我們將來(lái)逐步學(xué)習(xí)ajax,作為本系列的開(kāi)篇文章,我們還是俗套些,先來(lái)講解下ajax的簡(jiǎn)介和基礎(chǔ)知識(shí)吧。2015-01-01前端實(shí)現(xiàn)滑動(dòng)按鈕AJAX與后端交互的示例代碼
這篇文章主要介紹了前端實(shí)現(xiàn)滑動(dòng)按鈕AJAX與后端交互的示例代碼,前端代碼分為html代碼和css代碼,通過(guò)js事件觸發(fā),代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-02-02