jQuery的Ajax请求,在success里无法获取数据

时间:2022-12-03 18:58:51
jQuery的Ajax请求,在success里无法获取数据
直接在地址栏中输入有数据。
但是通过ajax却获取不到数据
$.ajax({
type: "post",           
url: "http://www.smsadmin.cn/smsmarketing/wwwroot/interface/postSendSms/",   
contentType: "application/x-www-form-urlencoded",
//dataType:"json", 
data:{ 
uid: uid, 
pwd: md5pwd,
mobile: mobile,
msg: msg
},
    success:function(result){
        alert(result);
    }
}); 

jQuery的Ajax请求,在success里无法获取数据

应该是返回的类型不是json类型,大神帮忙看看怎么处理。
jquery用的是1.2.6版本,高版本无法执行success,会执行error回调函数。

13 个解决方案

#1


        url: url,
        method: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        dataType: 'json',

#2


你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

#3


引用 1 楼 kadxls 的回复:
        url: url,
        method: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        dataType: 'json',

测试没有用。

#4


引用 2 楼 qq_34586510 的回复:
你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

#5


引用 4 楼 qq125850 的回复:
Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

#6


是不是因为我这个请求跨域了?Ajax其实就是向服务器发送一个GET或POST请求,然后取得服务器响应结果,返回客户端。跨域出现错误的地方正是请求到了数据,拿不回去。 

#7


引用 5 楼 qq_34586510 的回复:
Quote: 引用 4 楼 qq125850 的回复:

Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

我把传的值去掉了,直接调用地址,还是取不到值,是不是因为我这个请求跨域了?

#8


引用 7 楼 qq125850 的回复:
Quote: 引用 5 楼 qq_34586510 的回复:

Quote: 引用 4 楼 qq125850 的回复:

Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

我把传的值去掉了,直接调用地址,还是取不到值,是不是因为我这个请求跨域了?

有可能的。你百度搜一下ajax跨域

#9


alert可以执行说明ajax请求成功了,你在后台的接收处和发送处加一个打印,查看下

#10


引用 9 楼 qq_32778999 的回复:
alert可以执行说明ajax请求成功了,你在后台的接收处和发送处加一个打印,查看下


没有后台,是纯靠前端页面执行的,最后发现这种方式行不通,改用服务端发起该http请求,ajax发送请求给后台页面  后台页面在真正发送该请求,获取到数据后再返回到前台,进行数据的处理,最后显示其返回值。

#11


跨域了不能用js直接请求跨域地址,拿不到数据或者浏览器报错,需要在你站点做代理页面,代理页面用服务端xhr获取输出输出,ajax请求代理页面

#12


看你一开始说的,就是把POST和GET搞混了。
你的后台接收方式应该是使用了only Get的方法,所以只能通过URL传递参数的方式去Get(无论是在地址栏里输入得到,还是用AJAX的GET方法)。
而你前台又非要用POST,所以就得不到结果了。
这就是前台和后台“鸡同鸭讲”,应该使用共同的方式(或者让你的后台使用能够同时处理POST和GET传参的方法)。
具体是让前台顺从后台,还是让后台顺应前台,你自己或和后台同事商量看着办。

#13


引用 11 楼 showbo 的回复:
跨域了不能用js直接请求跨域地址,拿不到数据或者浏览器报错,需要在你站点做代理页面,代理页面用服务端xhr获取输出输出,ajax请求代理页面
+1

#1


        url: url,
        method: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        dataType: 'json',

#2


你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

#3


引用 1 楼 kadxls 的回复:
        url: url,
        method: 'POST',
        contentType: "application/json",
        data: JSON.stringify(data),
        dataType: 'json',

测试没有用。

#4


引用 2 楼 qq_34586510 的回复:
你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

#5


引用 4 楼 qq125850 的回复:
Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

#6


是不是因为我这个请求跨域了?Ajax其实就是向服务器发送一个GET或POST请求,然后取得服务器响应结果,返回客户端。跨域出现错误的地方正是请求到了数据,拿不回去。 

#7


引用 5 楼 qq_34586510 的回复:
Quote: 引用 4 楼 qq125850 的回复:

Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

我把传的值去掉了,直接调用地址,还是取不到值,是不是因为我这个请求跨域了?

#8


引用 7 楼 qq125850 的回复:
Quote: 引用 5 楼 qq_34586510 的回复:

Quote: 引用 4 楼 qq125850 的回复:

Quote: 引用 2 楼 qq_34586510 的回复:

你这个代码是没问题的,你确定后台返回了数据或者数据类型没错?

后台应该是有数据返回,在地址栏输入url带上提交的参数,是有数据返回的。

哪你把你传的值先去掉,让后端给你返回一个固定的值,看看能不能取到

我把传的值去掉了,直接调用地址,还是取不到值,是不是因为我这个请求跨域了?

有可能的。你百度搜一下ajax跨域

#9


alert可以执行说明ajax请求成功了,你在后台的接收处和发送处加一个打印,查看下

#10


引用 9 楼 qq_32778999 的回复:
alert可以执行说明ajax请求成功了,你在后台的接收处和发送处加一个打印,查看下


没有后台,是纯靠前端页面执行的,最后发现这种方式行不通,改用服务端发起该http请求,ajax发送请求给后台页面  后台页面在真正发送该请求,获取到数据后再返回到前台,进行数据的处理,最后显示其返回值。

#11


跨域了不能用js直接请求跨域地址,拿不到数据或者浏览器报错,需要在你站点做代理页面,代理页面用服务端xhr获取输出输出,ajax请求代理页面

#12


看你一开始说的,就是把POST和GET搞混了。
你的后台接收方式应该是使用了only Get的方法,所以只能通过URL传递参数的方式去Get(无论是在地址栏里输入得到,还是用AJAX的GET方法)。
而你前台又非要用POST,所以就得不到结果了。
这就是前台和后台“鸡同鸭讲”,应该使用共同的方式(或者让你的后台使用能够同时处理POST和GET传参的方法)。
具体是让前台顺从后台,还是让后台顺应前台,你自己或和后台同事商量看着办。

#13


引用 11 楼 showbo 的回复:
跨域了不能用js直接请求跨域地址,拿不到数据或者浏览器报错,需要在你站点做代理页面,代理页面用服务端xhr获取输出输出,ajax请求代理页面
+1