私はファクトAPIを使いこなしていますが、取得リクエストとしてURLを表現する方法を完全に理解していません。jQuery:このURLをGETリクエストに変換する方法
http://api.factual.com/v2/tables/7HOTBC/read?APIKey=SoX1rlj4x8VfRfvqnnehVH5ObpkHJc0kIzloTtxor5gyrHG5c3EySCTTcErCyRYO&filters={"category":{"$bw":"Arts%2C%20Entertainment%20%26%20Nightlife%20%3E%20Bars"},"latitude":{"$blank":false},"longitude":{"$blank":false},"$search":["London"],"$loc":{"$within_dist":[51.5149943,-0.0638818,1000]}}
これは私がこれを行うために書かれているコードです::以下は、私が手にjQueryに変身したいURLです私は放火犯で見ると
var factualKey = "SoX1rlj4x8VfRfvqnnehVH5ObpkHJc0kIzloTtxor5gyrHG5c3EySCTTcErCyRYO";
$(document).ready(function(){
// initialise google maps
initializeGoogleMaps();
// make a get request to the factual api
$.get(
"http://api.factual.com/v2/tables/7HOTBC/read",
{ APIKey : factualKey,
filters : { category : { $bw : "Arts, Entertainment & Nightlife > Bars" },
latitude : { $blank : false },
longitude : { $blank : false },
$search : "[\"London\"]",
$loc : { $within_dist : [51.5149943,-0.0638818,1000] }
}
},
function(responseData){
alert("SUCCESS");
},
"json"
);
});
これが何であるかのアドレス私の要求は次のようになりました:
http://api.factual.com/v2/tables/7HOTBC/read?APIKey=SoX1rlj4x8VfRfvqnnehVH5ObpkHJc0kIzloTtxor5gyrHG5c3EySCTTcErCyRYO&filters[category][%24bw]=Arts%2C+Entertainment+%26+Nightlife+%3E+Bars&filters[latitude][%24blank]=false&filters[longitude][%24blank]=false&filters[%24search]=[%22London%22]&filters[%24loc][%24within_dist][]=51.5149943&filters[%24loc][%24within_dist][]=-0.0638818&filters[%24loc][%24within_dist][]=1000
...明らかに間違っています!
そして、ここでは事実上のAPIからの応答です:
{"version":"2","status":"error","error":"Your filters parameter cannot be parsed. Please see http:\/\/wiki.developer.factual.com\/Server-API for documentation.","error_type":"Api::Error::InvalidArgument"}
誰かが私は私のコードで正しく行っていないものを私に伝えることができますか?取得リクエストの一部として渡しているデータをエンコードするつもりですか?それとも、私が逃したものですか?
'$の.PARAM()'を通して、あなたのデータを送信してみてください。 '$ .param({APIKey:factualKey、filt ...})' – RightSaidFred
...私がそれをすると、あなたは同じエラーを受け取ってしまいます。 – RightSaidFred
私はあなたのフィルタを回す必要があると思う:JSONの文字列にして、それをurlencode。今すぐjQueryがブラケットを使ってオブジェクトを保存しようとしているかのように見える - > filter [category] [$ bw] = etc ...あなたが本当に望むのは - &filters = {url encoded json data heijacked jQuery paramterizatoin(sp?)} – Aknosis