getJSON请求返回Uncaught Reference&的SyntaxError

时间:2012-10-04 00:29:02

标签: jquery json getjson

我正在使用getJSON函数来捕获从URL调用返回的内容,但是,我一直遇到错误引用或语法错误。

如果我使用“agent_name”作为参数运行脚本getUserAgentDetails(),我会收到未被捕获的ReferenceError,说明Chome(我正在使用的浏览器)未定义,而如果我使用参数“agent_version”或“os_name”我收到未写入的语法错误,说明意外的数字。

我认为“os_name”中的意外数字是由于Windows 7操作系统中的“7”,所以我怀疑返回时内容没有正确处理。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function getUserAgentDetails(param) {
$(document).ready(function() {
  $.getJSON(('http://www.useragentstring.com/?uas=' + encodeURI(navigator.userAgent) + '&getText=' + param + '&callback=?'), function(data) {
    var parts = data.split('=');
    alert(parts[1]);
  });
});
}

getUserAgentDetails("agent_name"); //Results in "Uncaught ReferenceError: Chrome is not defined"
//getUserAgentDetails("agent_version"); //Results in "Uncaught SyntaxError: Unexpected number "
//getUserAgentDetails("os_name"); //results in "Uncaught SyntaxError: Unexpected number "
</script>

1 个答案:

答案 0 :(得分:0)

对于跨域请求等请求,即;在您的情况下 json 将无法正常工作.. 在这种情况下你需要使用 jsonp ..

选中此link