クライアントにデータベースのログインとパスワードを共有するよう依頼しましたが、データベースに完全にアクセスできません(セキュリティ上の理由)。 彼は私のアプリケーションから来るすべてのデータを特定できる特定のキーを使ってこのURLを介してデータを投稿できるREST/JSONサービスを使用するように指示しました。AS3を使用したJSONへのデータの送信
は、ここに私がやったことだ:
var urlRequest:URLRequest = new URLRequest("the_url_using JSON service");
urlRequest.method = URLRequestMethod.POST;
var urlvars: URLVariables = new URLVariables;
urlvars.observer_name = "Test Coco";
urlvars.observation_number = "5433";
trace("urlvars = "+urlvars);
urlRequest.data = urlvars;
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.load(urlRequest);
それがデータを送信していてそれは、働いているが、データのフォーマットが正しくないと思わ..
urlがこのエラーを返します:「オブザーバー名が欠落しています"
そして" trace (urlvars)
"出力:
urlvars = observer%5Fname=Test%20Coco&observation%5Fnumber=5433
だから私は問題が特殊文字などから来ていると思います( "observer_name
"の結果は "observer%5Fname
"と多くの%5を見ることができます)
どうすればこの問題を解決できますか?
問題は不明です。 ** JSON **はデータ形式です。あなたは何も**それに送ることはできません。さらに、あなたのコードに** JSON **関連のものは何もありません。 ** URLVariables **はデータをURLエンコードされた文字列の形で送信します(正しいものです)、** JSON **の文字列ではありません。 – Organis
urlRequestで使用しているURLはJSONサービスを使用しています。私はより詳細な私の投稿を編集します。 – steph45
良い。それでは、あなたのコードにはJSONに関連するものは何もありません。 REST/JSONサービスとはおそらく、 '** {"observer_name": "Test Coco"、 "observation_number":5433} **のようなJSON文字列を生のPOSTデータとして送信する必要があることを意味します。 – Organis