Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自AJAX调用的对象在客户端';仅限s服务器_Javascript_Jquery_Json - Fatal编程技术网

Javascript 来自AJAX调用的对象在客户端';仅限s服务器

Javascript 来自AJAX调用的对象在客户端';仅限s服务器,javascript,jquery,json,Javascript,Jquery,Json,我有一个运行AJAX调用的web应用程序,它可以在本地工作,也可以在测试服务器上工作,但是在客户端,它不能 客户端有了这个应用程序,然后它的架构发生了一些变化,现在他们说它在重新加载到他们的服务器后无法工作。不幸的是,无法在服务器上手动测试,我所拥有的只是他们提供的以下简单错误日志: App.jsx:63 Uncaught TypeError: Cannot read property 'name' of undefined at Object.<anonymous> (Ap

我有一个运行AJAX调用的web应用程序,它可以在本地工作,也可以在测试服务器上工作,但是在客户端,它不能

客户端有了这个应用程序,然后它的架构发生了一些变化,现在他们说它在重新加载到他们的服务器后无法工作。不幸的是,无法在服务器上手动测试,我所拥有的只是他们提供的以下简单错误日志:

App.jsx:63 Uncaught TypeError: Cannot read property 'name' of undefined
    at Object.<anonymous> (App.jsx:63)
    at i (jquery-3.2.1.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2)
    at A (jquery-3.2.1.min.js:4)
    at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4)

如果您正在获取JSON,并且希望确保jQuery自动解析响应,那么应该使用
$.getJSON()

$.get()
将在两个条件下自动将响应转换为json。第一种情况是,如果您通过将预期的数据类型指定为“json”来显式地告诉它。第二种情况是,如果您不告诉它,服务器将返回内容类型为
application/json
的响应,在这种情况下,jQuery将尝试在您不告诉它的情况下为您解析它
$.getJSON()
是您告诉它响应应该是json并为您自动解析它的缩写

参考文献


另一种选择是保持原样,在响应中使用
JSON.parse(JSON)
,但为什么要键入更多?

不,这就是它的意思。对象
json
中没有
settings
键。请尝试使用console.log(json)查看该对象的属性。那么,他们服务器上的settings.json为什么没有该键呢?它的字面意思是在给他们的文件中,并且在本地@taplaroh!,哈哈,我打赌我知道这个问题
$.get()
不一定将响应解析为json,除非响应上的内容类型为“application/json”。尝试改用
$.getJSON()
。如果
json
是一个字符串,那么它就没有设置属性
$.get("settings.json")
  .done(function(json) {
    name = json.settings.name;
  }
$.getJSON("settings.json", function(json){
  console.log(json)
});