HTMLページとは異なるドメインのWebサービスインターフェースにリクエストを送信する必要があります。場合によっては、同期要求が必要になります。例: ユーザー名とパスワードでログインし、Web サービスの確認後に応答を取得します。
ただし、同期リクエストを実行できないことがわかったjsonpを使用しました。(html ページと web サービスの両方が私の管理下にあります)
何か良いアイデアはありますか?前もって感謝します。
HTMLページとは異なるドメインのWebサービスインターフェースにリクエストを送信する必要があります。場合によっては、同期要求が必要になります。例: ユーザー名とパスワードでログインし、Web サービスの確認後に応答を取得します。
ただし、同期リクエストを実行できないことがわかったjsonpを使用しました。(html ページと web サービスの両方が私の管理下にあります)
何か良いアイデアはありますか?前もって感謝します。
ヘッダー ('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>
async:false
正当な理由により非推奨です。
成功のコールバックで応答データを使用できるように、ログイン関数をリファクタリングする必要があります。
コードは次のようにする必要があります。
$.ajax({
/* other options*/
success:function( response){
if( response.status=='ok'){
/* run sucessful login code*/
}else{
/* message to user*/
}
}
})