-1

最初にサーバーで私の設定をコメントします

私は、80ポートでangularを使用し、ポート4000でAPIのようにリッスンする他のWebサーバーを備えたhtmlページにApacheを持っています

サーバーに $http リクエストを送信しようとしていますが、成功しません。エラー メッセージのみです。これが私のコードです

$http.post('http://localhost:4000/tareas', {msg:'asd'}).
success(function(data, status) {
    alert('funciono');
}).
error(function(data, status) {
    alert('error');

});

コントローラーにアクセスしたときにメッセージを送信するため、サーバーはその要求を受け取ります。そのため、要求は API に接続しますが、$http.jsonp を使用しても常に角度で要求を実行し、エラー アラートを送信します。単純な json を返します。

{data:'hurra.!', status:200}

成功するには、サーバーから別の応答が必要ですか?

F12とneetworkでも、getとpostでリクエストが「キャンセル」されているのがわかりますが、サーバーがメッセージを送信するので、そのリクエストを受け取ります。jsonpを使用すると、クロムは薄いとは言いません。すべて問題ありませんが、$ http.jsonはまだエラーになります。サーバーの応答が原因ですか?

ありがとうございます。

4

1 に答える 1

0

さらに検索すると、クロスドメインリクエストにはURLに「callback = JSON_CALLBACK」が必要であり、jsonpリクエストを実行することがわかりました。コードを次のように変更します

$http.jsonp('http://localhost:4000/tareas?callback=JSON_CALLBACK'}).
success(function(data, status) {
    alert('funciono');
}).
error(function(data, status) {
    alert('error');

});

仕事をして、私のajaxリクエストは今成功しています...私はこれを他のトレッドで見つけました。詳細については、ここにリンクを置きます。

angular.jsでのJSONP $http.jsonp()レスポンスの解析

ありがとう

于 2014-10-23T08:08:34.310 に答える