Javascript 如何从react组件检索JSONP对象?
我试图创建一个react组件,该组件接收一个对象,并根据对象的内容呈现多个div,如下所示:Javascript 如何从react组件检索JSONP对象?,javascript,reactjs,jsonp,Javascript,Reactjs,Jsonp,我试图创建一个react组件,该组件接收一个对象,并根据对象的内容呈现多个div,如下所示: X({ "data": [ {"field1": "something", "field2": "something", ...} ... ] )} 我应该从我无法控制的服务器上的JSONP请求接收这样的数据。我的做法如下: getJSON() { let data; function X(json) { data
X({
"data": [
{"field1": "something", "field2": "something", ...}
...
]
)}
我应该从我无法控制的服务器上的JSONP请求接收这样的数据。我的做法如下:
getJSON() {
let data;
function X(json) {
data = JSON.parse(json);
}
let script = document.createElement("script");
script.src = "http://some.path.com/jsonp?callback=X";
document.head.appendChild(script);
return data;
}
问题是,当我构建react应用程序时,我在控制台中得到了“未定义函数X”。在web上研究时,我发现函数X必须在全局上下文中才能在脚本运行时找到。是否可以从react组件内部创建全局函数?或者,如果没有,我可以尝试用什么其他方法来解决这个问题?您的函数是在getJSON()函数中定义的,只需在外部定义它就可以将其包含在全局范围中,但是如果我在全局范围中声明它,我就无法从组件内部检索数据。我试图在第一个react文件中声明它,您将ReactDOM.render(,“root”)放在其中;但它也不起作用。在cors出现多年后,谁还会使用jsonp?