gpt4 book ai didi

javascript - 对 UPDATE 行的 POST 请求

转载 作者:行者123 更新时间:2023-12-02 19:44:17 25 4
gpt4 key购买 nike

我是 javascript 的新手,所以我正在寻找一些帮助来创建一种拖放地理编码标记的方法,以允许交互式更改地址。我相信通过更新 LOCATION 列行可以实现这一点。

第一步是“发送”POST 请求,对吧?好吧,所以我想问是否有人可以给我看一个例子,因为我不知道如何编写这个 POST 请求并将其放入我的代码中!

最佳答案

您必须通过 POST 到 Fusion Tables API 才能更新列,但目前您无法直接从 JavaScript 执行此操作,如 Google does not set the CORS headers允许跨域发布到他们的 API。

因此,如果您想这样做,您必须通过网络服务器或类似的东西“中继”您的请求。我使用以下 PHP 脚本执行此操作,然后通过 JavaScript 将请求发布到我的 PHP 脚本。最后,你必须authenticate yourself using OAuth .

$url = "http://www.google.com/fusiontables/api/query";
$relay = new PostRelay($url,$_POST);
echo $relay->relay();

在 PostRelay 类中定义了方法 relay()$_POST 保存所有发布的数据(由 $this->data 表示) > 在我的类里面):

public function relay()
{
$url = $this->getUrl();
$this->curlHandler = curl_init($url);
curl_setopt($this->curlHandler, CURLOPT_POST, true);
curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curlHandler, CURLOPT_TIMEOUT, 30);
curl_setopt($this->curlHandler, CURLOPT_FOLLOWLOCATION, 1);

if($this->data != null) {
curl_setopt($this->curlHandler, CURLOPT_POSTFIELDS, $this->getData());
}

$remote_answer = curl_exec($this->curlHandler);

if(curl_errno($this->curlHandler) != 0) {
$msgErrorNo = "cURL Errornumber: ".curl_errno($this->curlHandler);
$msgError = "cURL Error: ".curl_error($this->curlHandler);
throw new RemoteException($url,$msgErrorNo." ".$msgError);
}
return $remote_answer;
}

关于javascript - 对 UPDATE 行的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10059798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com