jQuery自定义ajax构建

jQuery自定义ajax构建,jquery,ajax,web-worker,Jquery,Ajax,Web Worker,我试图从jQuery中除去除了ajax功能之外的所有功能。很抱歉问了这么愚蠢的问题,但请听我说完: 我正在使用WebWorkers进行ajax调用,因此我不能在其中包含core.js内容 我正在使用的另一个库调用jQuery,但我无法让它与jQuery.Hive.pool库一起使用。经过数小时的故障排除,这个ChemDoodle Web组件库似乎只适用于jQuery,我还没有足够的经验来了解原因 使用makefile构建jQuery似乎是一件非常容易的事情,但我不确定要包含什么。在makefi

我试图从jQuery中除去除了ajax功能之外的所有功能。很抱歉问了这么愚蠢的问题,但请听我说完:

  • 我正在使用WebWorkers进行ajax调用,因此我不能在其中包含core.js内容
  • 我正在使用的另一个库调用jQuery,但我无法让它与jQuery.Hive.pool库一起使用。经过数小时的故障排除,这个ChemDoodle Web组件库似乎只适用于jQuery,我还没有足够的经验来了解原因
  • 使用makefile构建jQuery似乎是一件非常容易的事情,但我不确定要包含什么。在makefile中,我取出了除ajax相关内容之外的所有内容:

然而,对/ajax源文件的进一步检查显示了调用“document”的方法。这意味着无论我剥离了多少个模块,这都不会起作用

更新:jQuery上的Bug问题#9889似乎表明core永远不会提供web工作者可用的ajax功能,至少在短期内不会

为任何感兴趣的人介绍一下我正在尝试做什么,以及为什么我需要使用WebWorkers。我正在开发一个分布式计算应用程序,它可以从化合物数据库中进行分子模拟/筛选。普通的javascript无法工作,因为它会降低页面速度,我希望应用程序在浏览器中持续运行,计算一个又一个分子。下面是我想要的网络工作者的伪代码概要

while (true){main();}

main(){
 get job from server via ajax
 process data//must use web worker
send results to server via ajax
}
是的,我可以实现我的程序来取消从主页传递的数据字符串的序列化,并让页面获取ajax数据,如下所示

//page-side javascript
var slave = new Worker()
slave.onMessage(event){
if status = "ready" {
check if data is available- if so, send it to server via ajax
fetch job data from server via ajax
slave.postMessage(job data)
}
}

//worker (slave)
self.onmessage(data) {
//process results
//send back to page
}
我想这可能行得通,但它有点俗气,可能比让工人做任何事情都慢。根据Rick Waldron的说法,“如果您有一个正在轮询的系统,例如打开一个worker,永远在一个循环中发出xhr请求,在每个响应上,postMessage()将结果返回给客户端,那么您就可以从中受益。”

我想我一直在循环中进行xhr请求,所以这个应用程序将是有益的


我确实找到了jQuery.Hive.poly.js,但我需要的ajax调用不是与我的其他库一起工作的。不过这是一个单独的问题(实际上是我的主要问题),所以如果有人对此感兴趣,这里有一个链接:

啊,我还没有弄清楚jQuery的问题,但我现在知道如何使pool.js更像jQuery

删除(或注释掉)POLEN中的两个请求头:

_xhr.setRequestHeader("X-Requested-With", "Worker-XMLHttpRequest");
_xhr.setRequestHeader("X-Worker-Hive", "Pollen-JS" );
与jQuery不同,pool.js的ajax函数返回一个JSON对象,其中包含服务器返回的JSON数据以及字符串化表单

data = {"json":{jsonobjecthere},"text":"stringifiedversionofthedata"}

如果做了这两个修改,那么我相信pool与jQuery的ajax几乎相同

啊,我还没有弄清楚jQuery的问题,但我现在知道如何使pool.js更像jQuery

删除(或注释掉)POLEN中的两个请求头:

_xhr.setRequestHeader("X-Requested-With", "Worker-XMLHttpRequest");
_xhr.setRequestHeader("X-Worker-Hive", "Pollen-JS" );
与jQuery不同,pool.js的ajax函数返回一个JSON对象,其中包含服务器返回的JSON数据以及字符串化表单

data = {"json":{jsonobjecthere},"text":"stringifiedversionofthedata"}

如果做了这两个修改,那么我相信花粉与jQuery的ajax几乎相同

这个链接值得一读。你能用你的网络工作者将要做什么的细节来强化你的问题吗,因为这将影响网络工作者是否是你的出路。这个链接值得一读-。你能用你的网络工作者将要做什么的细节来强化你的问题吗,因为这将影响网络工作者是否是你的出路。