使用jquery 的ajax調用總是錯誤親測的解決方案_AJAX相關

來源:互聯網
上載者:User
使用jquery 的ajax功能調用一個頁面,卻發現總是出現錯誤。
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總是報錯,如果把 dataType: 'json', 修改為其他類型就不會錯了,很奇怪,可我的系統裡,需要的是'json對象
最後經過反覆測試才發現修改了如下地方的代碼後終於正常了
1去掉TestData.aspx.cs頁面中的Response.Clear();具體什麼原因不清楚
2修改類TestC為如下形式,也就是給欄位添加了讀取設定屬性
複製代碼 代碼如下:

public class TestC
{
private int rD_ID;
public int RD_ID
{
get { return rD_ID; }
set { rD_ID = value; }
}
}

3刪除TestData.aspx頁面中的所有代碼,只保留第一行,修改後的代碼如下
複製代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestData.aspx.cs" Inherits="Demand_TestData" %>

經過這麼多測試終於正常了
我發現使用jquery的ajax的經常回跳入錯誤的處理流程,尤其是 dataType: 'json',看來jquery有很嚴格的驗證機制,看來這個一定要注意,否則就會錯誤
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.