关于jQuery.ajax的问题

本文详细解释了在使用Ajax请求时遇到的一个常见问题——当指定的数据类型为JSON但实际接收为字符串时,如何正确地解析数据。通过一个具体的示例,展示了如何修正dataType设置,并附带介绍了HTML编写规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思考:如下代码有什么问题?

$.ajax({
		type: "get",
		contentType: "application/json",
		data: i = 1,
		url: followupUrl,
		dataType: "JSON",
		cache: false,
		async: false,
		success: function(data){
			alert(data); //1
			if(data){ //2
				alert(data.colData); //3
				alert(data.success); //4
			}
		},
		error: function(){alert("error");}
	});

额,神马??alert(data)有值,但是alert(data.colData); //3     alert(data.success); //4 ,都为undefined?明明是有值的呀!这是怎么回事?

第一:data弹出有值,并显示colData和success也有值,说明data有值。

第二:2处进入if里面再次说明,data有值。

第三:3处 4出没值,但是1处又显示colData和success有值。只能说明data不是对象,而是……对就是 它它它。。它是字符串。


我来个去~  原来......是这样   是这个错误。

唉,JSON的问题。


真确的如下:

$.ajax({
		type: "get",
		contentType: "application/json",
		data: i = 1,
		url: followupUrl,
		dataType: "json",//这里错了,要小写,否则 它会按照字符串格式显示data(即data是一个整的字符串),而不能安json格式解析。
		cache: false,
		async: false,
		success: function(data){
			$("#debugBox").append(data);
			if(data){
				alert(data.colData);
				alert(data.success);
			}
		},
		error: function(){alert("error");}
	});


普及小知识:在以后的html版本标准中,以及xhtml里,1.所有的标签都要小写,2.所有的标签都要闭合(即别是br也要写成<br />而不能写成<br > ,虽然没有闭合的意义),

3.所有的属性都要加引号“”。

当然,我想,js或者其他语言也都有一定规则,养成一个良好的习惯。比如,就想我意义 因为一点点问题而浪费一上午时间。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值