首页 新闻 搜索 专区 学院

帮忙看下JQuery中$.ajax的请求为什么不成功

0
悬赏园豆:20 [已解决问题] 解决于 2014-07-24 11:40

本人新手,请高手指教,能不能通过图片,帮我找到解决办法?已测试不是POST,GET的原因。

调用代码:

上边的图1是我通过$.ajax调用的,可以看到status code是302,不知为何。大概是因为网站做了技术处理,重定向了我的请求。

下边的图2是我直接用浏览器打开的,却能成功status code 200。

CrazyKey的主页 CrazyKey | 初学一级 | 园豆:186
提问于:2014-07-20 16:37
< >
分享
最佳答案
0

可能需要看看后台代码是否对post请求进行了跳转。

收获园豆:10
幻天芒 | 高人七级 |园豆:36781 | 2014-07-21 09:59

是跳转了,但它是好像只是对chrome插件跳转,因为它做了防插件技术处理。直接用浏览器打开url却能正确返回json,最后一张图是通过浏览器调用的。

CrazyKey | 园豆:186 (初学一级) | 2014-07-24 09:48

@CrazyKey: 请求方式不一样的,出错的是post请求,正常的get请求。所以检查你后台对post是否有特殊处理~

幻天芒 | 园豆:36781 (高人七级) | 2014-07-24 10:11

@幻天芒: 今天突然又发现好了,难道跟机器还有关系吗?我之前用笔记本就不行,今天用台式机又可以了,太变态了。也有可能是网站良心发现了,分给你吧。

CrazyKey | 园豆:186 (初学一级) | 2014-07-24 11:39

@CrazyKey: 302是临时跳转,这个有可能会自己好。

幻天芒 | 园豆:36781 (高人七级) | 2014-07-24 13:16
其他回答(2)
0

去掉contentType的设置试试

收获园豆:5
dudu | 园豆:37779 (高人七级) | 2014-07-20 18:13

能详细解释一下什么原因吗?为什么用浏览器就能直接打开?

支持(0) 反对(0) 晓菜鸟 | 园豆:2594 (老鸟四级) | 2014-07-21 08:57

详细原因就是,之前这段代码是好用,但网站最近做了防插件功能。当然网站不是我自己的,我做的只是chrome插件。就是这样不能用了,不知道怎么突破它的限制。

支持(0) 反对(0) CrazyKey | 园豆:186 (初学一级) | 2014-07-24 09:42

去掉contentType,我试过是不可以的

支持(0) 反对(0) CrazyKey | 园豆:186 (初学一级) | 2014-07-24 09:48
1

$.ajax({
           type: "post",
                                        url: "",
                                        dataType: "jsonp",
                                        success: function (data) { 
                                                
                                        },
                                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                                                alert(errorThrown);
                                        }
                                });

 

这是跨域了吧,dataType用JSONP试试。

默认情况下,AJAX不能跨域,得用JSONP的方式

收获园豆:5
Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-21 11:03

按你这样写了之后,直接跳到errorr里了,再麻烦您看下。

支持(0) 反对(0) CrazyKey | 园豆:186 (初学一级) | 2014-07-24 10:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册