我已经创建了一个视图
$.getJSON("/admin/sync/sync_curl/4/whois",
function(data) {
log("Who is onboard table has been updated with " + data + " records after " + modifiedSince);
});
在我的控制器中,我通过 rest 调用从远程服务器获取一些 json 字符串,然后更新我的本地数据库 - 我只将我更新的记录发送回我的视图。
function sync_curl($shipid, $table) {
$this->load->model('whois/whois_m');
$this->load->spark('curl/1.2.0');
// Build remote URL
$remoteURL = 'http://192.201.00.22/api/1/';
$remoteURL .= $table;
$remoteURL .= '?API-KEY=xjkljioeo884444ssf'
// Simple call to remote URL
$result = json_decode($this->curl->simple_get($remoteURL), true);
// count records
$count = 0;
foreach ($result[$table] as $record) {
$this->whois_m->update_insert($record);
$count++;
}
header('Content-Type: application/x-json; charset=utf-8');
echo $count;
}
我可以直接在我的浏览器中使用我视图中的 url for $.getJSON = "local/admin/sync/sync_curl/4/whois"并且我收到记录数。
当我尝试从我的视图中运行此功能时 - 我单击一个按钮以开始操作 - 我没有调试任何事情发生并且我没有得到任何结果 - 当我通过添加“http://”来更改 $.getJSON 请求时
$.getJSON("local/admin/sync/sync_curl/4/whois",
我的问题是为什么我需要拥有“localhost” ——我只想拥有admin/sync/sync_curl/4/whois——因为我需要在许多不同的服务器上部署它并且请求始终是本地的?