1

次の Web サイトを立ち上げて実行しています: www.posti.sh この Web サイトは実際には www.myskoob.com/postish/ にありますが、ドメイン転送を使用して、ユーザーが www.posti.sh と入力してもそのままで、 www.myskoob.com/postish/ に変わりません。ウェブサイトを試すことができます。一般的には何かを投稿することであり、jQuery ajax を使用してユーザーが投稿を実行できるようにします。お気軽にテストしてください。

問題は次のとおりです。

www.myskoob.com/postish/ にアクセスしている間、投稿は正常に機能します - すべての ajax 呼び出しが機能しているようです。しかし、www.posti.sh にアクセスすると、同じファイルにアクセスしても機能しません。理由がわかりません。

転送には 2 つの方法があります。1 つはフレーム転送 (その後は機能します) で、もう 1 つは URL 隠蔽です。これは、URL が開かれるページごとに実際に変化するため、よりクリーンな方法です。

URL 非表示が機能しない理由を知っている人はいますか? ajaxによって呼び出されるphpファイルで何かをエコーアウトしようとしましたが、何も返されないため、ajaxがそのファイルに接続できないことが問題のようです。

ご協力ありがとうございました!

デニス

更新 1

ここで ajax コードを参照してください。

//Post
    $.ajax({
        type: 'POST',
        url: 'action/post.php',
        data: 'posttext='+posttext+'&imageurl='+imageurl+'&randomcode='+randomcode,
        success: function(post){
            //Do something here
        }
    }).error(function(){
        //Say it could not post
        alert('The post could not be sent - please try again later.');
    });
4

1 に答える 1

0

ドメインは ajax リクエストにハードコーディングされていますか? Web ブラウザーのオリジン ポリシーが同じであるため、別のドメインに対して典型的な ajax 要求を実行できないためです。

回避策の 1 つは、ajax ロジックでドメインをハードコーディングせず、相対パスを使用することです。すなわち:

$.load('http://mydomain.com/search/results.json');使用する代わりに$.load('/search/results.json');

于 2012-05-22T15:33:23.087 に答える