1

そのため、Ajax を使用してフォームをサーバーに投稿していますが、フォームを URL に送信する代わりに、フォーム自体に送信しています。

ここにコードがあります

$("#psignup").click(function() {
    $.ajax({
           type: "POST",
           url: "example/default/mobile_user_register",
           data: $("#patientsignup").serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response from the php script.
           }
         });

    return false; // avoid to execute the actual submit of the form.
});

ブラウザでは、from を to に送信しているように見えます。http://localhost:8080/?email=asdfa%40asd.com&password=asd&repeatpassword=&firstname=asd&username=&lastname=asd

もちろん、私が探しているのは「http://example.com/default/mobile_user_register?xxxxxxxxxxxxxx」です。これが機能しない理由を理解するのを手伝ってもらえますか?

4

4 に答える 4

2

JSONPを使用する

$.ajax({
    url: "http://example.com/default/mobile_user_register?xxxxxxxxxxxxxx",
    dataType: 'jsonp', //use jsonp data type in order to perform cross-domain ajax 
    crossDomain: true, 
    data: data, 
    success: callback,
    error: callback
});
于 2013-05-08T17:54:51.277 に答える
0

私があなたを正しく理解しており、このコードがホストされているドメインが example.com であるにもかかわらず、example.net を呼び出そうとしている場合、AJAX セキュリティはこれを明示的に禁止しています。

あなたがしなければならないことは、あなたがしたい呼び出しを受け取り、そのデータを取得してあなたに戻す小さなCGIプロキシをサーバー上にセットアップすることです.

PHP を使用していると仮定すると、呼び出しは次のようになります。myProxy.php?destination=http://example.net/whatever

次に、プロキシはその宛先で見つかったものを取得し、応答で返します。

于 2013-05-08T17:29:38.647 に答える
0

javascript AJAX を使用して別の URL に投稿することはできません--> ほとんどのブラウザでは阻止されています。

于 2013-05-08T17:28:27.247 に答える
-6

それexample/default/mobile_user_registerがあなたのドメイン名であることを魔法のように認識しているわけではありません。http://example.com/default/mobile_user_registerを試してください。

于 2013-05-08T17:28:51.990 に答える