gpt4 book ai didi

json - AngularJS http.get 验证有效的 json

转载 作者:行者123 更新时间:2023-12-05 01:06:49 24 4
gpt4 key购买 nike

从 URL 获取 json 时,我只想在数据有效时使用它。

到目前为止我使用的方法 JSON :

$http.get(
'data/mydata.json'
+ "?rand=" + Math.random() * 10000,
{cache: false}
)
.then(function (result) {

try {
var jsonObject = JSON.parse(JSON.stringify(result.data)); // verify that json is valid
console.log(jsonObject)

}
catch (e) {
console.log(e) // gets called when parse didn't work
}


})

但是在我进行解析之前,angular 已经失败了

SyntaxError: Unexpected token { at Object.parse (native) at fromJson (http://code.angularjs.org/1.2.0-rc.2/angular.js:908:14) at $HttpProvider.defaults.defaults.transformResponse (http://code.angularjs.org/1.2.0-rc.2/angular.js:5735:18) at http://code.angularjs.org/1.2.0-rc.2/angular.js:5710:12 at Array.forEach (native) at forEach (http://code.angularjs.org/1.2.0-rc.2/angular.js:224:11) at transformData (http://code.angularjs.org/1.2.0-rc.2/angular.js:5709:3) at transformResponse (http://code.angularjs.org/1.2.0-rc.2/angular.js:6328:17) at wrappedCallback (http://code.angularjs.org/1.2.0-rc.2/angular.js:9106:81) at http://code.angularjs.org/1.2.0-rc.2/angular.js:9192:26 angular.js:7861



如何防止 angular 抛出此错误,或者我应该如何处理验证 JSON ?

更新:解决方案:
$http.get(
// url:
'data/mydata.json'
+ "?rand=" + Math.random() * 10000

,

// config:
{
cache: false,
transformResponse: function (data, headersGetter) {
try {
var jsonObject = JSON.parse(data); // verify that json is valid
return jsonObject;
}
catch (e) {
console.log("did not receive a valid Json: " + e)
}
return {};
}
}
)

最佳答案

您可以覆盖 transformResponse在 $http 中。检查这个 other answer .

关于json - AngularJS http.get 验证有效的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com