标签: xmlhttprequest

json xhr响应打开一个下载文件弹出窗口

对于我们的一个ajax请求(带有.json响应),我们的一些客户抱怨他们看到"文件下载"提示要求用户下载.json响应.我感到困惑,因为考虑到这是一个xhr响应,这应该永远不会发生.有没有人见过这个?

谢谢

json prompt xmlhttprequest download

14
推荐指数
2
解决办法
9841
查看次数

Firefox和AJAX垃圾文件元素之后

我使用页面获取脚本动态地将网页加载到div中.继承人的代码.BTW Im使用Firefox w/Kubuntu

function fetch(URL, divId) {
        req = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
    req.open("GET", URL);
    req.onreadystatechange = function() {
        if (req.readyState == 4 && req.status == 200) {
            document.getElementById(divId).innerHTML = req.responseText;
        }
    }
    req.send(null);
}
Run Code Online (Sandbox Code Playgroud)

当我试图让它加载页面没有任何反应,我得到一个错误

错误:文档元素之后的垃圾
源文件:file:///home/amnite/Stuff/MetalBraska/Shows/ContentRight.html
行:2,列:1
源代码:
<img src="Layout/HeaderDiv.jpg" width="250px" height="7px">

javascript ajax xmlhttprequest innerhtml

14
推荐指数
1
解决办法
2万
查看次数

使用后台页面的跨域XMLHttpRequest

在我的Chrome扩展程序中,我想让我的options.html页面与Google的OpenId API进行通信.为了无缝地执行此操作,我iframe在选项页面上隐藏了一个弹出Google帐户登录页面(按照OpenId交互顺序等).

我的问题是我无法通过选项页面与iframe(iframe我控制的内容,但与我的chrome扩展名不同)进行通信window.postMessage.我想知道这个问题是否有快速的解决方法.

如果没有,我将options.html包含一个包含iframe页面布局和逻辑的内容.

javascript google-chrome xmlhttprequest cross-domain google-chrome-extension

14
推荐指数
1
解决办法
4万
查看次数

xmlhttprequest和set-cookie&cookie

我想我误解了用xmlhttprequest管理cookies.我有一个响应的服务器XMLHttpRequest在JavaScript做,我的服务器返回Allow-Control-Access-Origin,Access-Control-Allow-Headers,Access-Control-Expose-HeadersAccess-Control-Allow-Credentials用正确的值标题.

我正在使用javascript在服务器上进行摘要身份验证,没有问题,我收到WWW-Authenticate来自服务器的标题,我处理并向服务器发送带有所有摘要响应的授权标头,一切正常.问题是,当摘要挑战成功时,我的服务器返回一个Set-Cookie标头,我必须得到它并添加到我的所有xhr请求的其余部分.浏览器(使用Chromium和Chrome)不允许我访问标题:

xhr.getResponseHeader("Set-Cookie");
Run Code Online (Sandbox Code Playgroud)

好吧,在XMLHTTPREQUEST Level 2中它说:"返回响应中的所有头文件,除了那些字段名称为Set-Cookie或Set-Cookie2的头文件"好的,所以我不能接受它,但有什么办法?使用Chrome Api进行Cookie(目前我还没有注意到它的注意事项),但我希望以标准的方式做到可行.随着:

xhr.withCredentials = true;
Run Code Online (Sandbox Code Playgroud)

意味着浏览器自动获取set-cookie并发送cookie头?

javascript cookies xmlhttprequest setcookie cors

14
推荐指数
1
解决办法
3万
查看次数

XMLHTTP和ServerXMLHTTP之间的差异

我正在尝试编写一个Excel加载项,可以将Web服务中的数据导入Excel.

要使用它,用户只需键入加载项提供的函数名称即可.我在VBA中发现了两篇实现HTTP请求的文章:XMLHTTPServerXMLHTTP.

我使用它们有困难.我不知道使用哪一个.XMLHTTP和ServerXMLHTTP之间有什么区别?

excel vba xmlhttprequest excel-vba

14
推荐指数
1
解决办法
2万
查看次数

Angular资源如何保持ajax头并同时启用cors

在我的ng-resource文件中,我启用了ajax标头:

var app = angular.module('custom_resource', ['ngResource'])

app.config(['$httpProvider', function($httpProvider) {
    //enable XMLHttpRequest, to indicate it's ajax request
    //Note: this disables CORS
    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
}])

app.factory('Article', ['$resource', function($resource) {
    return $resource('/article/api/:articleId', {articleId: '@_id'}, {
        update: {method: 'PUT'},
        query: {method: 'GET', isArray: true}
    })
}])
Run Code Online (Sandbox Code Playgroud)

这样我就可以相应地分离ajax和非ajax请求和响应(发送json数据res.json(data),或者像发送整个html页面一样res.render('a.html')

例如,在我的错误处理程序中,我需要决定呈现error.html页面或只发送错误消息:

exports.finalHandler = function(err, req, res, next) {
    res.status(err.status || 500)
    var errorMessage = helper.isProduction() ? '' : (err.message || 'unknown error')

    if (req.xhr) {
        res.json({message: errorMessage})
    }
    else {
        res.render(dir.error + '/error_page.ejs') …
Run Code Online (Sandbox Code Playgroud)

ajax xmlhttprequest node.js express angularjs

14
推荐指数
1
解决办法
2632
查看次数

Chrome扩展上的Access-Control-Allow-Origin

我正在制作一个Chrome扩展程序,用于从我自己的服务器中提取数据.它一次使用大约4个httpRequests,但有时我会得到如下控制台错误:

XMLHttpRequest cannot load http://apps.radionsm.lv/apps/system/index.php?request=now. Origin chrome-extension://egkddfmbidfobhchndockbhjancbpfkd is not allowed by Access-Control-Allow-Origin. 对于每个人有时没有.

如果我发送header('Access-Control-Allow-Origin: *');将修复它吗?

php xmlhttprequest google-chrome-extension

13
推荐指数
3
解决办法
3万
查看次数

JavaScript可以设置哪些HTTP标头?

W3C是否指定XMLHttpRequest可以设置哪些HTTP头?如果是这样,他们是否出于安全原因发布了证明这些要求的文件?

是否由浏览器自行决定限制HTTP标头?如果是这样,是否有在线文档或文档集合列出了不同XHR实现的怪癖,或者是否有必要在每个实现的文档中找到该信息?

javascript http xmlhttprequest http-headers

13
推荐指数
1
解决办法
2743
查看次数

AngularJS与Jersey Webservice之间的通信,它们位于不同的域上.无法访问正确的会话

最近我一直在玩AngularJS和Java EE 6.我在Jersey上构建了一个Web服务,并在Glassfish上部署了该项目.因为我需要某种身份验证和OAuth实现或者JDBCRealm看起来有点过分,所以我决定只在用户成功登录时创建一个会话.

@POST
@Path("/login")
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
public Response login(LoginDAO loginData, @Context HttpServletRequest req) {
    req.getSession().invalidate();
    loginData.setPassword(PasswordGenerator.hash(loginData.getPassword()));
    User foundUser = database.login(loginData);
    if(foundUser == null) {
        return Response.status(Status.CONFLICT).build();
    }
    req.getSession(true).setAttribute("username", foundUser.getUsername());
    return Response.ok().build();
}

@GET
@Path("/ping")
public Response ping(@Context HttpServletRequest req) {
    if(req.getSession().getAttribute("username") == null) {
        return Response.ok("no session with an username attribute has been set").build();
    }
    return Response.ok(req.getSession(true).getAttribute("username")).build();
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,如果我从Postman发布/登录或从glassfish上部署的基本jQuery网页发送,我确实得到了正确的用户名并且已经放置了会话.如果我然后发送一个GET请求到/ ping我确实得到了我登录的用户名.

我在一个需要登录的node.js网络服务器上部署了一个AngularJS应用程序.因为这个服务器在另一个端口上,它在另一个域上,我不得不经历启用cors的痛苦.我这样做是通过构建一个容器响应过滤器来设置响应头.

public class CrossOriginResourceSharingFilter implements ContainerResponseFilter {
    @Override
    public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) {
        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Origin", "http://localhost:8000");
        cresp.getHttpHeaders().putSingle("Access-Control-Allow-Credentials", "true"); …
Run Code Online (Sandbox Code Playgroud)

xmlhttprequest jersey cors java-ee-6 angularjs

13
推荐指数
3
解决办法
1万
查看次数

将withCredentials设置为新的ES6内置HTTP请求API:Fetch

如何设置withCredentials=truefetch其回报的承诺.以下是正确的:

fetch(url,{
   method:'post',
   headers,
   withCredentials: true
});
Run Code Online (Sandbox Code Playgroud)

我认为MDN文档谈到了关于http请求的所有内容,除非这一点:withCredentials

javascript xmlhttprequest ecmascript-6 fetch-api

13
推荐指数
1
解决办法
1万
查看次数