我使用jQuery get来检索JSON文件上的简单属性。 使用以下脚本我得到了未定义。
我在这里做错了什么?
<script>
$(document).ready(function() {
var urlOriginal = 'http://xxx.com/xxx/xxx/xxx/resources.js';
var urlResource = 'proxy_dr3.php?proxy_url=' + encodeURIComponent(urlOriginal);
$.get(urlResource, function(data) {
console.log(data); // I can see all the content from the JSON FILE
console.log(data.urlPage); // undefined - PROBLEM HERE
var urlHTML = data.urlPage;
/*$.get(urlHTML, function(data) {
$('#result').html(data);
});*/
});
});
</script>
resource.js的内容是json
{
"urlPage": "http://xxx.com/xxx/xxx/xxx/article_517d960f0cf2fe38916a2f9d.html"
}
网络中的结果类型为text/html
。加载resource.js后
答案 0 :(得分:3)
$.get
不会猜测它是JSON,因为你的服务器提供的mime类型是错误的。
您可以使用JSON.parse
解析提供的值(可能是字符串),但您应该使用$.getJSON
,以便回调接收解析后的值。
$.getJSON(urlResource, function(data) {
console.log(data);
console.log(data.urlPage);
});
答案 1 :(得分:0)
您可以使用最适合您的应用的任何一种方法。
$.ajax({
type: "GET",
data: "ur data",
url: "ur url",
contentType: "application/json; charset=utf-8",
success: function(data) {
}
});
或者您可以使用$ .getJSON函数