问题描述
- $.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,所以出错了。改用服务器端请求你需要访问的页面,然后把结果返回给你的用户吧。
解决方案九:
如果跨域了,浏览器会禁止,用浏览器插件可以