手机
当前位置:查字典教程网 >编程开发 >AJAX相关 >使用jquery 的ajax调用总是错误亲测的解决方法
使用jquery 的ajax调用总是错误亲测的解决方法
摘要:使用jquery的ajax功能调用一个页面,却发现总是出现错误。js代码如下复制代码代码如下:$.ajax({type:'post',url...

使用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有很严格的验证机制,看来这个一定要注意,否则就会错误

【使用jquery 的ajax调用总是错误亲测的解决方法】相关文章:

Ajax获取到数据放入echarts里不显示的原因分析及解决办法

ie7下利用ajax跨域盗取cookie的解决办法

jQery ajax——load()方法示例介绍

ajax回调打开新窗体防止浏览器拦截有效方法

浏览器跨域获取Lrc歌词数据的解决办法

解决ajax返回验证的时候总是弹出error错误的方法

AJAX乱码解决新方法

使用ajax加载的页面中包含的javascript的解决方法

ajax跨域请求js拒绝访问的解决方法

ajax 乱码的一种解决方法

精品推荐
分类导航