使用jquery 的ajax调用总是错误亲测的解决方法

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

时间: 2024-08-03 04:34:36

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

使用jquery 的ajax调用总是错误亲测的解决方法_AJAX相关

使用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代码如下

jQuery中ajax的使用与缓存问题的解决方法

本篇文章主要介绍了jQuery中ajax的使用与缓存问题的解决方法.需要的朋友可以过来参考下,希望对大家有所帮助 1:GET访问 浏览器 认为 是等幂的 就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配] 所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果   POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的)   防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之

jQuery中ajax的使用与缓存问题的解决方法_jquery

1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的) 防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的] 设计WEB页面的时候 也应该遵守这个原则 2:一.谈Ajax的Get和Post的区别

jquery的ajax调用

问题描述 functionGetStudentsPost(roleId){try{alert(roleId);$.post("/Role/GetStudentsOfRole","{roleId:"+roleId+"}",function(data){alert(data);},"json");}catch(ex){alert(ex);}}这个函数调用时,$.post方法不走,前面alert执行了,异常捕获里也没有执行,控制器中

Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)

原文:Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇) 老话说的好:好记心不如烂笔头! 本着这原则,我把最近工作中遇到的jquery利用ajax调用web服务的各种数据类型做了一个总结! 本文章没有什么高难度技术,就是记录一下,汇总一下,以便以后需要时查看! 本总结牵涉的数据类型,主要有: string,int这样的基本数据类型 ClassA这样的自定义类 List<ClassA>这样的集合类型 Dictionary这样的字典类型数据 DataSet这样

jQuery实现ajax调用WCF服务的方法(附带demo下载)_jquery

本文实例讲述了jQuery实现ajax调用WCF服务的方法.分享给大家供大家参考,具体如下: 关于AJAX调用WCF服务分为跨域和不跨域两种方式,今天咱们先介绍下不跨域下的调用方法.DEMO是在VS2008写的. 经过测试与研究,发现AJAX调用WCF服务必须满足以下条件 1.wcf的通讯方式必须使用webHttpBinding 2.必须设置<endpointBehaviors>节点的值 3.服务的实现必须添加标记 复制代码 代码如下: [AspNetCompatibilityRequirem

jquery的ajax调用Webservice返回Json数组

本文章是利用jquery的ajax调用webservice返回json数组哦,json数据是网页特效的一种小型轻型数据,实时交互性更强于xml哦. json数据 {'employee':[{'name':'john','sex':'man','age':'25'},{'name':'tom','sex':'man','age':'21'},{'name':'mary','sex':'woman','age':'21'}]}     //jquery 调用webservice导入数据       

jquery ajax传递中文参数乱码问题及解决方法说明

 本篇文章主要是对jquery ajax传递中文参数乱码问题及解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 jQuery传递中文参数乱码,原因是默认的传递方式没有采用UTF-8,所有我们可以在传递参数的时候对参数进行编码,然后再操作,代码如下,红色的代码为传递的参数,已标注    代码如下: smsubmitclick = function(){    $(document).ready(function(){        var name = $("#txt_name&q

ThinkPHP调用common/common.php函数提示错误function undefined的解决方法_php实例

本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co