<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
我找到了从URL获取JSON文件的方法,但是我将它分配给全局变量有点困难。在这种情况下,我该如何处理var url = 'https://myurl.com/file.json';
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var jsonObject = JSON.parse(body);
console.log(jsonObject);
}
});
?
答案 0 :(得分:1)
从技术上讲,要使其成为全局变量,您只需在回调函数之外定义它。
var url = 'https://myurl.com/file.json';
var jsonObject;
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
jsonObject = JSON.parse(body);
console.log(jsonObject);
}
});
然而,根据我在这里看到的内容,我认为这不会解决你想要解决的任何问题。原因是请求的回调是异步处理的。因此,即使您将其分配给全局变量,也不会在以后的其他代码中访问它。
var url = 'https://myurl.com/file.json';
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var jsonObject = JSON.parse(body);
// Rest of your application that needs access to jsonObject can do here...
// You can also pass it on to another function by running something like `processResponse( jsonObject )`;
}
});
答案 1 :(得分:0)
这是你应该怎么做的。
var jsonObject;
var url = 'https://myurl.com/file.json';
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
jsonObject = JSON.parse(body);
console.log(jsonObject);
}
});