CakePHP REST API 为 AJAX 提供 403,但不为 cURL 提供
CakePHP REST API giving 403 for AJAX but not for cURL
我使用 CakePHP 构建了一个 REST API,遇到了以下问题。
如果我执行
curl -v -H 'ACCEPT: application/json' -u sam:hello http://localhost/journeys/latest.json
我得到的预期响应是:
{"journey":{"Journey":{"id":"17","description":null,"created":"2013-01-31 23:02:54","modified":"2013-01-31 23:02:54","user_id":"3"}}}
然后,我尝试将此 API 合并到我编写的一些 JavaScript 中,我可以在其中请求最新的旅程数据,然后提取 id 以供使用。
我写的Javascript如下:
Server.getLatestJourney = function() {
$.ajax({
type: 'GET',
contentType: 'application/json',
url: 'http://localhost/journeys/latest.json',
dataType: "json",
username: 'sam',
password: 'hello',
success: function(data, textStatus, jqXHR){
latestJourney = data.journey.Journey.id;
console.log('Laters journey id = ' + latestJourney);
},
error: function(jqXHR, textStatus, errorThrown){
console.log('Latest Journey error: ' + textStatus + ' Error: ' + errorThrown);
}
});
}
当该代码段执行时,我在JavaScript控制台中收到以下错误
GET http://sam:hello@localhost/journeys/latest.json 403 Forbidden 91ms
我完全被这个难住了。任何帮助将不胜感激。
删除选项contentType: 'application/json'
它应该可以工作 - 在我的 REST API 中,这也是一个问题,从 ajax 请求中删除这一行解决了它
相关文章:
- 我需要为我的朋友在这个项目上提供帮助
- 将curl查询转换为jQuery.ajax()
- Grunt-connect在根目录之外提供静态文件
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 文档就绪提供了错误的选择器高度
- 为图像提供灯箱效果
- 如果在代码末尾进行求值,jQuery-console.log将提供空数组
- curl和fileget_contents在ajax调用后不起作用
- 如何将给定的curl命令复制为jquery ajax请求
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 什么是curl以及如何将其与nodejs一起使用
- 函数jquery.html()不提供数据属性集值
- 有人能提供一张ember数据与broswer's的持久层
- Soundcloud php curl program
- 如何通过类比curl请求从JavaScript发出请求
- 提供tar.gz文件并在nodejs上下载
- 如何在不在本地下载的情况下将url中提供的文件(pdf/doc)转换为json/string/base64格式
- 向AngularJs提供cURL HTML数据
- CakePHP REST API 为 AJAX 提供 403,但不为 cURL 提供