如果从主javascript调用,下面的代码运行完美,但它不在web worker中运行.
function getSpecData(detailLvl, startWeek, endWeek, mkt) {
var params = { "detailLvl": detailLvl, "startWeek": startWeek, "endWeek": endWeek, "mkt": mkt };
var xhr;
var url = "WebServices/wsSProgress.asmx/GetSpecProgressTable";
try {
xhr = new XMLHttpRequest();
xhr.open('POST', url, false);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var result = JSON.parse(xhr.responseText);
$('#specProgTbl').html(result.d);
}
};
xhr.send(JSON.stringify(params));
} catch (e) {
alert('Error occured in XMLHttpRequest: ' + xhr.statusText + ' ReadyState: ' + xhr.readyState + ' Status:' …Run Code Online (Sandbox Code Playgroud) 我做的.NET跨域职位,但在净,他们为我提供了PHP的例子....我想的PHP代码转换为.NET.请帮忙.
<?php
header('Content-type: text/html');
header('Access-Control-Allow-Origin: *');
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo('<p>This information has come from <a href="' . $uri . '">' . $uri . '</a></p>');
?>
Run Code Online (Sandbox Code Playgroud) setInterval结果可以阻止页面中的其他脚本吗?
我正在开展一个将Gmail相关书签转换为Google Chrome扩展程序的项目.bookmarklet使用gmail greasemonkey API与gmail页面进行交互.API的JavaScript对象是要加载的Gmail页面的最后部分之一,并通过XMLHttpRequest加载到页面中.由于我需要访问此对象,并且从扩展内容脚本中隐藏了全局JavaScript变量,因此我将一个脚本注入gmail页面,该页面轮询变量的定义然后访问它.我正在使用setInterval函数进行轮询.这大约有80%的时间都有效.其余的时间轮询功能一直保持轮询,直到达到我设置的限制,并且页面中永远不会定义greasemonkey API对象.
注入的脚本示例:
var attemptCount = 0;
var attemptLoad = function(callback) {
if (typeof(gmonkey) != "undefined"){
clearInterval(intervalId); // unregister this function for interval execution.
gmonkey.load('1.0', function (gmail) {
self.gmail = gmail;
if (callback) { callback(); }
});
}
else {
attemptCount ++;
console.log("Gmonkey not yet loaded: " + attemptCount );
if (attemptCount > 30) {
console.log("Could not fing Gmonkey in the gmail page after thirty seconds. Aborting");
clearInterval(intervalId); // unregister this function for interval execution.
}; …Run Code Online (Sandbox Code Playgroud) javascript gmail xmlhttprequest setinterval google-chrome-extension
我注意到使用IE8和IE9,如果我使用带有POST和PUT谓词的jQuery.ajax()调用我的RESTful API ,那么我不会在jqXHR中找回任何响应头.但是,GET请求按预期工作.
此行为与所有其他浏览器不同.我已经确认Chrome,FF,Opera和Safari都会在POST和PUT请求的响应中返回完整的预期标头集.只有IE8和IE9似乎在地板上扔标题.(我没有检查的一件事是HEAD请求会发生什么.)
我已经用Fiddler验证了标题实际上是通过线路进行的,所以问题出在jQuery本身或IE8和IE9上.
这是一个已知的问题?如果是这样,是否有解决方法.我可以在jQuery中重载/覆盖某些内容以保留POST和PUT后的头文件吗?我目前的解决方法是在成功回调中使用GET简单地重新获取修改后的数据,因为IE8和IE9不会混淆GET操作的头文件.
这是我基于jQuery的主要AJAX工作方法的片段:
$.ajax({
url: String.format(um.proxy.url, url),
type: ajaxParams.verb,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: String.format('{0}', ajaxParams.jsonData),
headers: mapOfHeaders,
success: function (data, textStatus, jqXHR) {
//...
},
error: function (msg, textStatus, errorThrown) {
//...
}
});
Run Code Online (Sandbox Code Playgroud) var xml = null;
xml = new XMLHttpRequest();
xml.open("get", who, false);
xml.send(null);
if ((xml.status >= 200 && xml.status <= 300) || xml.status == 304) {
var hi = xml.responseText;
} else {
alert("No Internet Connection! You will have to enter information by hand");
};
Run Code Online (Sandbox Code Playgroud)
我想设置这个警报,如果没有互联网连接,它会这样说.但是,浏览器停止/挂起xml.send(null)与NS_ERROR_FAILURE:失败.如何为连接正确设置测试?
作为JavaScript和相关框架的初学者,如果我的问题看起来很愚蠢,我很抱歉.
无论如何......是否有一些本地技术用于加载和显示与Node.js和Express异步的网页内容?是否应该将XMLHttpRequest对象用于此目的或存在更好的替代方案?
最好的问候,Vi.
我正在运行GM_xmlhttpRequest(使用Greasemonkey脚本),并将其存储responseText到新创建的HTML元素中:
var responseHTML = document.createElement('HTML');
...
onload: function() { responseHTML.innerHTML = response.responseText; }
Run Code Online (Sandbox Code Playgroud)
然后我试图在中找到一个元素responseHTML:
console.log(responseHTML.getElementsByTagName('div'));
console.log(responseHTML.getElementById('result_0'));
Run Code Online (Sandbox Code Playgroud)
第一个工作正常,但第二个则不行。有任何想法吗?
javascript greasemonkey xmlhttprequest getelementbyid gm-xmlhttprequest
我一直在谷歌搜索这个问题几个小时,但没有找到任何解决方案.
现在的情况是,在网站打开并且所有资产都已经在浏览器中加载之后,浏览器不断地对服务器进行递归xhr调用.这些呼叫以25秒的固定间隔进行.
这可以在浏览器控制台的"网络"选项卡中看到.请参阅图像中最后一行的待处理请求.

我无法弄清楚它来自何处,以及为什么即使用户空闲也会自动调用它.
现在的问题是,如何禁用这些自动请求?我想手动调用请求,即选择菜单项时等.
任何帮助都会得到满足.
[UPDATE]
回应Jan Dvorak的评论:
当我在搜索框中输入"e"时,将显示名称以字母"e"开头的事件列表.
该请求包含所有有效参数和Payload,如下所示:
["{\"msg\":\"sub\",\"id\":\"8ef5e419-c422-429a-907e-38b6e669a493\",\"name\":\"event_Coll_Search_by_PromoterName\",\"params\":[\"e\"]}"]
Run Code Online (Sandbox Code Playgroud)
这是响应,这是有效的.
a["{\"msg\":\"data\",\"subs\":[\"8ef5e419-c422-429a-907e-38b6e669a493\"]}"]
Run Code Online (Sandbox Code Playgroud)
此操作的代码发布在此处
但是在自动递归请求的情况下,请求没有有效载荷,响应只是字母"h",这很奇怪.不是吗?我怎么能摆脱这个.
在我的Tizen系统应用程序中,我提出了一个跨源AJAX请求,它在Tizen的浏览器中运行良好,但是当我将其打包为Web应用程序时,交叉原始请求无法工作.我已经在模拟器和真实设备上测试了它.我还使用webkit检查器记录网络日志,截图如下:

任何专家能告诉我为什么吗?
以下是我的代码:
var url = "";//this is assigned a domain which supports cross domain access according to HTML5 specification.
var client = new XMLHttpRequest();
client.open("GET", url, true);
client.setRequestHeader("Accept-Language", 'en-us');
client.onreadystatechange = function() { alert("succeed"); }
client.send();
Run Code Online (Sandbox Code Playgroud) 我有一个非常基本的网络应用程序的麻烦.这是我的文件:
<!DOCTYPE html>
<html lang="en" data-ng-app>
<body>
<div data-ng-controller="PlayersCtrl">
<div data-ng-repeat="player in players">
{{player.id}}
</div>
</div>
<script src="/angular.min.js"></script>
<script src="/players.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
function PlayersCtrl($scope, $http) {
$scope.players = [];
$http({
method: 'GET',
url: 'http://localhost:9292/hi'
}).success(function(data) {
$scope.players = data;
});
}
Run Code Online (Sandbox Code Playgroud)
require 'sinatra'
get '/' do
headers 'Access-Control-Allow-Origin' => '*'
headers 'Access-Control-Allow-Headers' => 'Authorization,Accepts,Content-Type,X-CSRF-Token,X-Requested-With'
headers 'Access-Control-Allow-Methods' => 'GET,POST,PUT,DELETE,OPTIONS'
send_file File.join(settings.public_folder, 'index.html')
end
Run Code Online (Sandbox Code Playgroud)
require 'sinatra'
require 'json'
get '/hi' do
headers 'Access-Control-Allow-Origin' => '*'
headers …Run Code Online (Sandbox Code Playgroud) xmlhttprequest ×10
javascript ×5
ajax ×2
cross-domain ×2
angularjs ×1
asp.net ×1
asynchronous ×1
c# ×1
express ×1
gmail ×1
greasemonkey ×1
html5 ×1
http-headers ×1
jquery ×1
jqxhr ×1
meteor ×1
node.js ×1
php ×1
rest ×1
setinterval ×1
sinatra ×1
tizen ×1
web-worker ×1