原型到jQuery转换的AJAX语法
Prototype to jQuery conversion AJAX Syntax
寻找一些建议是否我的语法是正确的这个原型jQuery转换。
我有两个框架同时加载,并希望将所有脚本转换为jQuery,以减少页面加载重量和速度。
原型希望在jQuery中复制这个:
if (snapshots.items.length < snapshots.total_entries) {
new Ajax.Request(snapshots.url, {
method: 'GET',
parameters: {
page: snapshots.current_page + 1,
per_page: snapshots.per_page
},
onSuccess: function(response) {
var start = snapshots.items.length;
snapshots.items = snapshots.items.concat(eval(response.responseText));
for (i = start; i < snapshots.items.length; i++) {
$('snapshots').appendChild(render_snapshot(snapshots.items[i].snapshot));
Photo.Carousels.instances[Photo.Filmstrip.carouselIndex].slides.push($('slide_' + snapshots.items[i].snapshot.id));
Photo.Carousels.instances[Photo.Filmstrip.carouselIndex].slides[i]._index = i;
}
snapshots.current_page++;
Photo.Filmstrip.currentSnapshot(currentSnapshot);
}
});
}
jQuery if (snapshots.items.length < snapshots.total_entries) {
$j.ajax({
url: snapshots.url,
data: {
page: snapshots.current_page + 1,
per_page: snapshots.per_page
},
success: function (response) {
var start = snapshots.items.length;
snapshots.items = snapshots.items.concat(eval(response.responseText));
for (i = start; i < snapshots.items.length; i++) {
$j('.snapshots').append(render_snapshot(snapshots.items[i].snapshot));
Photo.Carousels.instances[Photo.Filmstrip.carouselIndex].slides.push($j('slide_' + snapshots.items[i].snapshot.id));
Photo.Carousels.instances[Photo.Filmstrip.carouselIndex].slides[i]._index = i;
}
snapshots.current_page++;
Photo.Filmstrip.currentSnapshot(currentSnapshot);
}
});
}
是的,这看起来是对的-我知道jQuery比Prototype好得多,所以我猜一点,但这是有意义的(假设您已经使用$.noConflict
将jQuery
分配给$j
)。这里唯一的问题,正如@Greg在他的评论中指出的,是eval
-我假设你返回JSON数据,所以如果你包括配置选项:
dataType: 'json'
jQuery将自动解析这个,以一种比普通eval
更安全的方式。事实上,我很确定,在大多数情况下,如果您不使用这个选项,jQuery将嗅探您的响应体,并智能地猜测是否将其解析为JSON、XML、HTML、脚本或文本,在这种情况下,您的eval
将是不必要的。
相关文章:
- 使用 AJAX 向 Flask 发送 JSON 语法错误
- jQuery AJAX Post方法错误(语法错误)
- AJAX语法错误:JSON.parse:意外字符
- JQuery AJAX 轮询语法
- Ajax响应成功,但无法使用数据(未捕获语法错误:意外标识符)
- ajax中的语法错误
- Ajax 帖子未捕获语法错误:意外令牌非法
- Ajax语法错误
- 使用jquery ajax请求时出现语法错误
- 将数据从Ajax传递到PHP,出现语法错误
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- jQuery “$.ajax” 代码不起作用,语法错误
- 使用 AJAX 接收“未捕获的语法错误:意外令牌 (”
- Ajax 调用返回语法错误:输入意外结束
- 如何将简单的 JQuery 自动完成语法与对远程数据源(PHP 脚本)的 ajax 调用相结合
- 未捕获的语法错误: 意外令牌: ajax 调用
- Javascript ajax 语法来创建 html 行
- jQuery Ajax语法意外标记
- 原型到jQuery转换的AJAX语法
- XMLHttpRequest.send() 上的 AJAX 语法错误