1

Web アプリケーション (ExtJs で記述) をホストするローカルで実行する Apache サーバーをセットアップしました。また、phantom.js で作成され、ポート 8080 でリッスンする 2 番目のローカル サーバーもあります。

var server, service;

server = require('webserver').create();

service = server.listen(8080, function (request, response) {
    response.statusCode = 200;
    response.write('<html><body>Hello!</body></html>');
    response.close();
});

ここで、アプリケーションからファントム サーバーへの Ajax リクエストを実行したいと思います。

Ext.Ajax.request({
    url: 'http://localhost:8080',
    method: 'GET',
    success: function(response){
        console.log('RESPONSE: ', response);
    },
    filure: function(response){
        console.log('failure: ', response);
    }
});

しかし、このスクリプトを実行すると、次のようになります。

"NetworkError: 400 Bad Request - http://localhost:8080/?_dc=1336648497292"コンソールで。この操作は同一オリジン ポリシーに違反していますか? それとも何か他のものですか?localhost:8080 に移動すると適切な応答が表示されるため、サーバーは適切に実行されています。

4

2 に答える 2

2

あなたのhtmlはlocalhost:8080にもありますか? そうでない場合 (異なるポート => 異なるホスト)、クロスドメイン ajax の問題があります。

于 2012-05-10T11:45:19.883 に答える
0

Ajax は File プロトコルでは動作しません!! HTTP または HTTP でのみ機能します。私は udemy のコースを見つけました。メンターは ajax が file:d://(path) プロトコルで動作しないと言います。そこで彼は自分のファイルを Web サーバーに移し、それから ajax に関する話題を説明しました。

お役に立てれば!

于 2016-01-05T17:12:07.533 に答える