首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同步跨域请求?

同步跨域请求?
EN

Stack Overflow用户
提问于 2012-12-29 09:29:52
回答 2查看 1.6K关注 0票数 0

我需要发送一个请求到一个网络服务接口在不同的域从html页面。有时,需要同步请求。例如:使用用户名和密码登录,并在webservice确认后得到响应。

然而,我使用的是jsonp,它被发现不能进行同步请求。( html页面和webservice都在我的控制之下)

有什么好主意吗?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-29 09:40:34

如果你发送报头(‘Access-Control-Allow-Origin:*'),你只能使用一个标准的非异步$.ajax对象。

代码语言:javascript
运行
复制
<?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>
票数 2
EN

Stack Overflow用户

发布于 2012-12-29 10:32:08

async:false已被弃用,这是有充分理由的。

您的登录函数需要重构,以便在成功回调中使用响应数据。

您的代码需要执行以下操作:

代码语言:javascript
运行
复制
$.ajax({
    /* other options*/
     success:function( response){
          if( response.status=='ok'){
             /* run sucessful login code*/
          }else{
             /* message to user*/
          }
     }

})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14077906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档