gpt4 book ai didi

jQuery 自定义 ajax 构建

转载 作者:行者123 更新时间:2023-12-01 06:04:57 28 4
gpt4 key购买 nike

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

  • 我正在使用 Web Worker 进行 ajax 调用,因此我无法在其中包含 core.js 内容。
  • 我使用的另一个库调用 jQuery,但我无法让它与 jQuery.Hive.Pollen 库一起使用。经过几个小时的故障排除后,这个 ChemDoodle Web 组件库似乎只能与 jQuery 一起使用,而我的经验不足,不知道为什么。
  • 使用 makefile 构建 jQuery 似乎是一件非常简单的事情,但我不确定要包含什么。在makefile中,我把除了ajax相关的东西之外的所有东西都拿出来了:

.

BASE_FILES = ${SRC_DIR}/ajax.js\
${SRC_DIR}/ajax/jsonp.js\
${SRC_DIR}/ajax/script.js\
${SRC_DIR}/ajax/xhr.js\

但是,对/ajax 源文件的进一步检查显示了调用“文档”的方法。那么这意味着无论我剥离多少个模块,这都根本不起作用?

更新:jQuery 上的错误问题 #9889 似乎表明 core 永远不会提供可供 Web 工作人员使用的 ajax 函数,至少不会很快。

对任何感兴趣的人来说,我正在尝试做的事情以及为什么我需要使用网络 worker 的一些描述。我正在放置一个分布式计算应用程序,它可以从化合物数据库中进行一些分子模拟/筛选。普通的 javascript 不起作用,因为它会减慢页面速度,并且我希望应用程序在浏览器中持续运行,计算一个又一个分子。这是我想要的网络 worker 的伪代码概述

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 的说法,“如果您有一个轮询的系统,例如,打开一个工作程序,在每次响应时永远循环发出 xhr 请求,将结果 postMessage() 返回给客户端,然后你可以受益”

我想我会永远在循环中发出 xhr 请求,因此这个应用程序将是有益的。

我确实找到了 jQuery.Hive.pollen.js,但它无法与我的其他库一起使用来进行我需要的 ajax 调用。不过,这是一个单独的问题(实际上是我的主要问题),所以如果有人感兴趣,这里有一个链接到 that post :

最佳答案

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

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

_xhr.setRequestHeader("X-Requested-With", "Worker-XMLHttpRequest");
_xhr.setRequestHeader("X-Worker-Hive", "Pollen-JS" );

与 jQuery 不同,pollen.js 的 ajax 函数返回一个 JSON 对象,其中包含服务器返回的 JSON 数据以及字符串化形式。

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

如果进行这两个修改,那么我相信 pollen 与 jQuery 的 ajax 几乎相同

关于jQuery 自定义 ajax 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7315264/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com