0

HTMLページとは異なるドメインのWebサービスインターフェースにリクエストを送信する必要があります。場合によっては、同期要求が必要になります。例: ユーザー名とパスワードでログインし、Web サービスの確認後に応答を取得します。

ただし、同期リクエストを実行できないことがわかったjsonpを使用しました。(html ページと web サービスの両方が私の管理下にあります)

何か良いアイデアはありますか?前もって感謝します。

4

2 に答える 2

2

ヘッダー ('Access-Control-Allow-Origin: *') を送信すると、標準の非非同期 $.ajax オブジェクトを使用できます。

<?php
    header('Access-Control-Allow-Origin: *');
?>
<html>
...
</html>
<script type="text/javascript">
    $(document).ready( function()
    {
        $("#someID").on('click', function()
        {
            var username = 'username';
            var passwd = 'password';

            $.ajax(
            {
                type:'post,
                dataType:'json',
                url:'http://yoursite.com/web-service.php',
                data:{username:username,password:passwd},
                async:false,
                success:function(data){},
                error:function(jqXhr, textStatus, errorThrown){}
            });
        });
    });
</script>
于 2012-12-29T01:40:34.060 に答える
0

async:false正当な理由により非推奨です。

成功のコールバックで応答データを使用できるように、ログイン関数をリファクタリングする必要があります。

コードは次のようにする必要があります。

$.ajax({
    /* other options*/
     success:function( response){
          if( response.status=='ok'){
             /* run sucessful login code*/
          }else{
             /* message to user*/
          }
     }

})
于 2012-12-29T02:32:08.423 に答える