Restfullyii预弯<;链接>;标记到json响应
嗨,我是新来的 我在json响应中遇到了一个问题,一个标记被预先添加 请参阅下面的代码 (假设链接标记有“”)Restfullyii预弯<;链接>;标记到json响应,json,rest,yii,Json,Rest,Yii,嗨,我是新来的 我在json响应中遇到了一个问题,一个标记被预先添加 请参阅下面的代码 (假设链接标记有“”) {“success”:true,“message”:“Record(s)Found”,“data”:{“totalCount”:1,“share”:[{“id”:“0”,“elementid”:“1”,“type”:“video”,“suid”:“1”,“duid”:“5”,“permissions”:“superuser”}]} 这来自api/under-GET方法,与其他rest
{“success”:true,“message”:“Record(s)Found”,“data”:{“totalCount”:1,“share”:[{“id”:“0”,“elementid”:“1”,“type”:“video”,“suid”:“1”,“duid”:“5”,“permissions”:“superuser”}]}
这来自api/under-GET方法,与其他rest谓词相同
我无法解析JSON数据,因为前面有一行
请帮忙
参考:
localhost/api/-method:GET/POST/PUT/DELETE
除了json响应格式之外,restful yii的一切都很好
提前谢谢!
Ohmel Paguirigan问题在于YII没有意识到您的请求是一个实际的Ajax请求 在srbac/components/Helper.php中搜索:
if(!Yii::app()->request->isAjaxRequest){
Yii::app()->clientScript->registerCssFile($cssFile);
}
您会注意到SRBAC正在检查您的请求是否是实际的Ajax请求。
Yii表格上写着:
yii检查是否有一个X-Requested-With HTTP头集(其中
应生成一个$\u服务器['HTTP\u X\u REQUESTED\u WITH']SERVER变量)
以及它是否包含字符串“XMLHttpRequest”。但这是一个
大多数javascript库设置的自定义头(jQuery也是如此)。
例如,有些代理会删除这些自定义标头(主要是
由于安全原因),因此您的应用程序无法识别
不管它是否是ajax请求。它不是100%可靠的
因此,您必须确保您的javascript库正在注入此头。要在Javascript中执行此操作,请在app.run中 添加以下内容:
$http.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
然后,angular中的所有http请求都将发送头yii,需要识别是否正在发送AjaxRequest
希望这有帮助 谢谢你的回答。。。。我认为Yii基本上是在处理ISAJAX请求,每次我使用$.http()时都会检测到它。谢谢<代码>$http.defaults.headers.common['X-Requested-With']='XMLHttpRequest'代码>对我来说很好。谢谢
$http.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';