我正在尝试开发一个侧边栏小工具,它可以自动检查我的传输配额的演变过程。 我差不多在它,但有一个最后一步,我需要得到它的工作:发送一个HttpRequest与正确的POST数据到一个PHP页面。 使用firefox插件,这是头的“Content-Type”的样子: Content-Type=multipart/form-data; boundary=—————————99614912995 与参数“边界”似乎是随机的,而POSTDATA是这样的: POSTDATA =—————————–99614912995 Content-Disposition: form-data; name="SOMENAME" Formulaire de Quota —————————–99614912995 Content-Disposition: form-data; name="OTHERNAME" SOMEDATA —————————–99614912995– 我不明白如何正确模拟与神秘的“边界”参数回来的POSTDATA。 会有人知道我可以解决这个问题吗?
什么是最好的select, 从谷歌浏览器的扩展使用JavaScript和任何更多的技术可用,执行目前未打开的选项卡的网页抓取 。 其他JavaScript库也被接受。 重要的是要掩盖行为像一个正常的networking请求 。 没有AJAX或XMLHttpRequest的指示,如X-Requested-With: XMLHttpRequest或Origin 。 抓取的内容必须可以从JavaScript访问,以便在扩展中进行进一步的操作和呈现,最有可能的是作为一个string。 在任何WebKit / Chrome特定的API中,是否存在任何钩子:可用于发出正常的Web请求并获得操作结果? var pageContent = getPageContent(url); // TODO: Implement var items = $(pageContent).find('.item'); // Display items with further selections Bonus-points使这个工作从磁盘上的本地文件进行初始debugging。 但如果这是停止解决scheme的唯一的一点,那么忽略奖励点。
有没有办法在控制台中隐藏"XHR finished loading"消息?
我想从JavaScript发送一些variables和POST方法的string。 我从数据库中获取string,然后将其发送到PHP页面。 我正在使用XMLHttpRequest对象。 问题是该string包含字符“&”几次,PHP中的$ _POST数组看起来像多个键。 我尝试用replace()函数replace“&”,但似乎没有做任何事情。 谁能帮忙? JavaScript代码和string如下所示: var wysiwyg = dijit.byId("wysiwyg").get("value"); var wysiwyg_clean = wysiwyg.replace('&','\&'); var poststr = "act=save"; poststr+="&titlu="+frm.value.titlu; poststr+="§iune="+frm.value.sectiune; poststr+="&wysiwyg="+wysiwyg_clean; poststr+="&id_text="+frm.value.id_text; xmlhttp.open("POST","lista_ajax.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(poststr); string是: <span class="style2">"Busola"</span>
我最近碰到了发送JavaScript请求到另一个域。 默认情况下,不允许将XHR发布到其他域。 遵循http://enable-cors.org/的指示,我在另一个域上启用了这个function。 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> 现在一切正常,但是在返回工作200响应之前,它仍然返回405响应。 Request URL:http://testapi.nottherealsite.com/api/Reporting/RunReport Request Method:OPTIONS Status Code:405 Method Not Allowed Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 Access-Control-Request-Headers:origin, content-type, accept Access-Control-Request-Method:POST Connection:keep-alive Host:testapi.nottherealsite.com Origin:http://test.nottherealsite.com Referer:http://test.nottherealsite.com/Reporting User-Agent:Mozilla/5.0 (Windows NT 6.1; […]
我怎样才能找出哪种方法最适合这种情况呢? 任何人都可以提供一些例子来了解function和性能方面的差异吗?
我正在处理的应用程序有一个会话超时值。 如果用户没有交互的时间超过这个值,他们尝试加载的下一个页面将被提示login。 所有发出的请求都通过这个包含AJAX调用的机制进行路由。 最初,我们发送了一个包含login页面的200头文件,它引入了AJAX的一些问题,因为如果发送200响应,代码就会运行,并且从这些RPC调用返回的大部分数据是JSON或者被评估的原始JavaScript问:|)。 我build议401更好,因为我们的JSONparsing器不会尝试消费HTMLlogin页面。:) 但是,在阅读规范时,我注意到WWW-Authenticate字段也必须发送。 这个领域有什么价值? Application Login足够?
我想在我的前端应用程序中使用(本机)promise来执行XHR请求,但是没有一个庞大的框架。 我想我的xhr返回一个承诺,但这是行不通的(给我: Uncaught TypeError: Promise resolver undefined is not a function ) function makeXHRRequest (method, url, done) { var xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.onload = function() { return new Promise().resolve(); }; xhr.onerror = function() { return new Promise().reject(); }; xhr.send(); } makeXHRRequest('GET', 'http://example.com') .then(function (datums) { console.log(datums); });
我对有时包含404响应的响应使用JSON.parse 。 在它返回404的情况下,是否有办法捕获exception,然后执行其他代码? data = JSON.parse(response, function (key, value) { var type; if (value && typeof value === 'object') { type = value.type; if (typeof type === 'string' && typeof window[type] === 'function') { return new(window[type])(value); } } return value; });
在我的Chrome扩展中,我想让我的options.html页面与Google的OpenId API进行通信。 为了做到这一点,我在选项页面上隐藏了一个iframe ,它将popupGoogle帐户login页面(遵循OpenId交互序列等)。 我的问题是,我不能通过window.postMessage从选项页面到iframe ( iframe的起源是我控制的,但不是我的铬扩展)。 我想知道是否有一个快速解决这个问题。 如果没有,我将使options.html包含一个iframe ,其中包含页面的布局和逻辑。