我发现这个非常有用的镀铬扩展名为Postman。这是一个非常有用的扩展程序,尤其是当您进入编程Restful应用程序时。 我感到困惑的是,这个插件/扩展如何能够在不同域中成功发送发布请求?

问题描述 投票:0回答:3
怎么可能?

使用jQuery是我的代码。我在计算机上使用了Localhost。

init: function() { $.ajax({ url: 'http://example.com/vote.php', type:'POST', dataType: 'html', data: { id: '1' }, success: function(data) { if ( data == 'voted' ) { $('.set-result').html( 'you already voted. try again after 24 hours' ); } else { $('.set-result').html( 'successfully voted' ); } } }); },

Chrome包装的应用程序可以具有跨域权限。安装Postman时,您会提出此应用程序将访问任何域。

通过将清单文件的部分放置在Voting using Postman*/*

部分中,您可以做到这一点。

在这里阅读更多:

https://developer.chrome.com/extensions/xhr.html

您可以将以下标头添加到Postman中发送的AJAX请求。
permissions
javascript jquery ajax postman
3个回答
36
投票
Screenshot


    

tobsots像托管民意调查的网站(“投票”脚本)需要具有“访问控制”标题,以允许从站点列表(或所有站点)发布发布。 标题的值 *的值将允许从任何网站发布:

Content-Type application/json X-Requested-With XMLHttpRequest

27
投票
I.E。您可以将以下内容放在copt.php

的顶部

Access-Control-Allow-Origin: *
染色的扩展和应用程序不受普通网页上放置的安全限制的约束。

Additional调试提示:

如果您尝试从浏览器中本地文件系统打开的网页上访问远程服务,则可能会发现浏览器对它们应用了与从Web服务提供的文件相比,对它们应用了不同的安全规则。

e.g。如果您从浏览器中的

header('Access-Control-Allow-Origin: *'); (Windows)或Send Ajax request in postmanC:\MyDocuments\weboot\index.htm(Mac)等位置打开本地文件,即使在大多数浏览器中指定标头,Ajax请求也可能无法正常工作。

Apple的Safari几乎不适用跨域对本地打开的文件的限制,但是Firefox对其允许的允许更加严格,而Chrome中间位于中间。本地运行Web服务器(例如,在

3
投票
)是一个好主意。

在additiondity上,提供可处理AJAX请求的功能的其他库(例如AngularJs)可能需要在服务器上设置其他标头。您通常可以在浏览器调试控制台中看到故障的原因。

2021年10月
在我的调查中,我发现您需要在请求的标题中额外的字段。因此,只需将以下键值添加到标题中:

键:
| 
值:

http://localhost/

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.