2017-10-15 23 views
2

を取得し、私はAPIにJSONとして要求し、応答を取得したいと私は郵便配達でそれを試してみましたが、私は応答を得た:APIへ送信JSONと応答

JSON要求:

{ 
"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp" 
} 

私は郵便配達で持って、それはokです

{ 
"status": 200, 
"result": { 
    "winner": "s", 
    "options": { 
     "1": "mar", 
     "2": "feb", 
     "3": "jan", 
     "4": "aug" 
    }, 
    "question": "how old are u?", 
    "answer": 3 
} 

}

私の問題は、私はAJAX requeを送りたいであることを応答私はこのコードを試してみてください。

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"}; 
$.ajax({ 
type:'post', 
dataType:'json', 
url:'http://207.154.251.233:8039/app_dev.php/question/get', 
data:JSON.stringify(data), 
success:(function (response) { 
alert(response); 
}) 
}) 
+0

なぜエラーハンドラを追加して – charlietfl

+0

@charlietflを教えてください。 – sepehr

+0

'{APIキー:「!&^ $%の#1 @ jwebdpqodp9fgkwjebfkdpqihdqlwkndqp」}のようなので、apikey''の周りにあなたのデータから引用符を削除してみてください。Alex.W @ ' –

答えて

0

使用この修正されたコード:さらに

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"}; 
$.ajax({ 
    type:'post', 
    dataType:'json', 
    url:'http://207.154.251.233:8039/app_dev.php/question/get', 
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
    crossDomain: true, 
    data:JSON.stringify(data), 
    success:(function (response) { 
     alert(response); 
    }) 
}); 

スクリプトが別のホストから実行されている場合、あなたは、クロスオリジンのアクセス許可を使用する必要があります。このため、アプリケーションはPHPで構築された場合は、使用

Access-Control-Allow-Origin: http://foo.example 

を使用します。

header("Access-Control-Allow-Origin: *"); 
// or your script's host, e.g http://foo.example instead of "*" 
0

あなたが取得している応答は、タイプオブジェクトのものであり、[オブジェクト] [オブジェクト]として表示されます。 alertを実行する場合は、JSON.stringifyにする必要があります。代わりにconsole.logを使用することをお勧めします。デバッグする方がよいでしょう。

関連する問題