$.ajax()方法返回404,与浏览浏览器返回json结果不一致

问题描述

$.ajax()方法返回404,与浏览浏览器返回json结果不一致

url通过浏览器直接访问可以获取到json如下:
http://www.renrendai.com/transfer/transferList!json.action?pageIndex=1&_=1421632995820

但我用ajax获取data中获取的是404页面。
$.ajax({
type: "POST",
url: "http://www.renrendai.com/transfer/transferList!json.action?pageIndex=" + pageIndex + "&_=" + new Date().getTime(),
data: null,
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.status == 0) {
请高手指教,不知道问题出在哪里。

解决方案

这个域名是你的没有?不是就跨域了。。应该是直接报错,当然不排除那边判断了来源,如果来源不在指定范围内就返回404状态什么的

跨域你要在服务器端做的代理,不能直接ajax请求跨域页面

解决方案二:

浏览器是get,你的ajax是post,服务器在处理不同动作的时候可能走的代码路径不同,结果也不同。

解决方案三:

通过浏览器,比如我现在点击你上面的链接,是GET,不是POST,你把type: "POST"改成type: "GET"试试。

解决方案四:

你是不是跨域了,如果是参考http://www.open-open.com/lib/view/open1334026513327.html

解决方案五:

我以前改成GET试过的,应该不是这个原因,大虾能不能写个demo试一下呢,肯定是服务器端做了什么限制,但不知道怎么解决。

解决方案六:

可能是判断来源了吧,限制打开的范围了吧

解决方案七:

如果是服务器端限制了打开范围就没有办法模拟浏览器打开方式吗?因为浏览器即便不登录也是可以获取的,用代码却不可以。

解决方案八:

你现在是跨域访问,服务器返回的是json而不是jsonp,所以出错了。改用服务器端请求你需要访问的页面,然后把结果返回给你的用户吧。

解决方案九:

如果跨域了,浏览器会禁止,用浏览器插件可以

时间: 2025-01-03 12:39:09