首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨域ajax请求(jsonp)仅在Firefox (35.x)中不起作用

跨域ajax请求(jsonp)仅在Firefox (35.x)中不起作用
EN

Stack Overflow用户
提问于 2015-02-14 16:35:52
回答 1查看 609关注 0票数 0

我有这样的跨域请求:

代码语言:javascript
复制
$.ajax({
        crossDomain: true,
        dataType: 'jsonp',
        url: 'http://mysite.ru/comp/ajax/api.php',
        jsonp: 'callback',
        data: { 
           data_1: data_1,
           opt: 'opt'
        },
        success: function(data){
                console.log(data);
        },
        error: function(e) {
            console.log(e);
        }
    });

在服务器端,我有如下代码:

代码语言:javascript
复制
$callback=$_REQUEST['callback'];

$url = "http://xn--b1afabpanwaea8aeld1f.xn--p1ai"; //this is russian site
header("Access-Control-Allow-Origin: $url");
header("Access-Control-Allow-Credentials: true");
echo $callback.'('.json_encode($data).')';

它可以在Chrome、IE中工作,但Firefox不会返回响应。在控制台中,我看到了以下内容:

代码语言:javascript
复制
readyState:4
status:404
statusText:"error" ...

请求头部中没有选项"Origin“,查询类型为”普通“。如果我在FF查询的开发面板中选择并点击“编辑并发送”,则请求成功,但在请求头部中添加了"Origin“,类型设置为"html”。

EN

回答 1

Stack Overflow用户

发布于 2015-02-16 04:19:47

此请求在提交表单时挂起,另一个请求在href上。在这些情况下,Mozila不能发送请求(只能发送mozila)。你只需要将它挂在静态标签上,如果成功,就进行重定向或提交。现在一切都正常了。

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

https://stackoverflow.com/questions/28513889

复制
相关文章

相似问题

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