Tag: Ajax

“如何”在Backbone.js保存整个集合 – Backbone.sync或jQuery.ajax?

我很清楚它可以完成,我已经看了不less地方(包括: 保存整个集合的最佳实践? )。 但是我仍然不清楚在代码中是怎么写的? (这个post用英文解释,有一个javascript特定的解释会很棒:) 说我有一个模型集合 – 模型本身可能有嵌套的集合。 我已经重写父集合的toJSON()方法,我得到一个有效的JSON对象。 我希望“保存”整个集合(相应的JSON),但是主干似乎并没有内置这个function。 var MyCollection = Backbone.Collection.extend({ model:MyModel, //something to save? save: function() { //what to write here? } }); 我知道你必须说的地方: Backbone.sync = function(method, model, options){ /* * What goes in here?? If at all anything needs to be done? * Where to declare this in the program? […]

JSON安全最佳实践?

在研究JSON和XML的问题的同时,我遇到了这个问题 。 现在,selectJSON的原因之一就是在Javascript中易于转换,即使用eval() 。 从安全的angular度来看,这立即引起了我的问题。 因此,我开始对JSON的安全性方面进行一些研究,并在这篇博文中讨论JSON如何不如人们所想的那样安全 。 这部分突出了: 更新:如果你正在做JSON 100%,那么你将只有顶层的对象。 数组,string,数字等都将被包装。 一个JSON对象然后将不能eval(),因为JavaScript解释器会认为它正在查看一个块而不是一个对象。 这对防范这些攻击有很长的路要走,但最好还是用不可预知的URL来保护您的安全数据。 好吧,这是一个很好的规则:顶层的JSON对象应该始终是对象而不是数组,数字或string。 听起来对我来说是一个很好的规则。 当涉及到JSON和AJAX相关的安全性时,还有什么可以做或者避免的吗? 上面引用的最后部分提到了不可预测的URL。 有没有人有更多的信息,特别是你如何在PHP中做到这一点? 在Java中,我比PHP更有经验,而且在Java中很容易(因为你可以将一系列的URL映射到一个servlet),而我所做的所有PHP都将一个URL映射到PHP脚本。 另外,您究竟如何使用不可预知的URL来提高安全性?

为什么在WebSockets可用时使用AJAX?

我已经使用了一段时间的WebSockets,我已经select使用Node服务器和WebSockets为我在大学的最后一年项目创build一个敏捷项目pipe理工具。 我发现使用WebSocket提供的应用程序可以处理的每秒请求数量增加了624%。 然而,自从开始我已经读过安全漏洞的项目,一些浏览器默认select禁用WebSocket。 这导致我的问题: 为什么在WebSockets似乎在降低延迟和资源开销方面做得如此出色时,使用AJAX有没有AJAX比WebSocket更好的方法?

使用Ajax将Javascriptvariables传递给PHP

我正在使用Ajax,这是我以前从未使用过的现有脚本。 我有一个variables设置在我的JavaScript文件,从我的网页上的input字段获取其值。 我需要使用Ajax发布到我的PHP页面,我不知道从哪里开始, 林不知道你需要看到什么代码,但我的JavaScript / AJAX代码是,我需要传递的variables是'var credoff' $(".getPoint").click(function () { var theid = $(this).attr("id"); var onlyID = theid.split("_"); var onlyID = onlyID[1]; var credoff = parseInt($(this).children('input.credoff:hidden').val()); $.ajax({ url: 'do.php', type: 'POST', data: "userID=" + onlyID, success: function (data) { if (data != "success1" && data != "success5") { $("#" + theid).text(data); } else { $("#thediv_" […]

你应该在服务器端进行validation吗?

你应该在服务器端进行validation,还是只在客户端进行validation? @TheTXI 我很高兴你惊讶我只是不想留下任何可能改变某人回答给我虚假信息的东西。 似乎很多人都触及到我所追求的,但是阿贾克斯的一部分应该留在我的问题中,因为这是最重要的部分。 不过,阅读post,我知道一个坏人可以轻松地加载萤火虫,并更改我的button,提交button,并发表一篇文章。 或者以其他方式。

如何使用jQuery / AJAX和PHP / MySQL根据第一个下拉列表select第二个下拉列表?

我正在尝试使用jQuery / AJAX和PHP / MySQL创build一组dynamic的下拉框。 当页面基于来自数据库的值加载时,第一个下拉框将被填充。 第二个下拉框应显示一组基于从第一个下拉框中select的值。 我知道在这里曾经有类似的问题,但是我还没有find符合我的情况的解决scheme。 我的查询生成第二个下拉列表的JSON编码值列表正在运行,但我有问题填充到实际的下拉表单元素。 任何想法,我要去哪里错了。 使用Javascript: <script> $().ready(function() { $("#item_1").change(function () { var group_id = $(this).val(); $.ajax({ type: "POST", url: "../../db/groups.php?item_1_id=" + group_id, dataType: "json", success: function(data){ //Clear options corresponding to earlier option of first dropdown $('select#item_2').empty(); $('select#item_2').append('<option value="0">Select Option</option>'); //Populate options of the second dropdown $.each( data.subjects, function(){ $('select#item_2').append('<option […]

我如何发布MVC中的项目列表

我有一个简单的forms,其中的项目列表,我想发布他们的控制器,但有趣的是我只是不能。 除了列表之外,其他所有事情都能正确地进 我检查了瓢虫中的ajax调用和post的值是这样的: Answers[0].IsMissing False Answers[0].Text Ja Answers[0].Value 0 Answers[1].IsMissing False Answers[1].Text Nein Answers[1].Value 1 Id 1cd14b08-ce3b-4671-8cf8-1bcf69f12b2d Name Ja/Nein 我有一个AnwserScheme类具有以下属性: public string Name { get; set; } public bool IsMissing { get; set; } public List<AnswerDisplayItem> Answers { get; set; } public AnswerScheme() { Answers = new List<AnswerDisplayItem>(); } 我有这个观点代码: @for (int i = 0; […]

不能处理在Ajaxredirect302,为什么?

我有一个使用Forms Authentication在asp.net mvc中编写的后端服务器。 当用户没有通过身份validation时,服务器将自动发送302redirect到login操作并返回login页面。 在客户端,我有一个项目列表。 这个列表只能被authentication的用户访问。 在页面上,我有一个使用Ajax刷新列表的button(jQuery的$ .ajax函数)。 现在,我的问题是身份validation票证超时,用户点击刷新button: 我的函数发送一个ajax请求来获取刷新列表 服务器检测到身份validation票据无效并发出302redirect。 浏览器自动处理这个302响应,并强制我的ajax函数发送另一个ajax请求到Login动作,最后的结果是一个状态为200的HTML。我的脚本很混乱,因为这个列表也是一个状态为200的HTML。 我想要的是,当身份validation票证超时,用户点击刷新button,我应该能够检测到,并显示一条消息,要求用户login。 我尝试通过在Login操作中添加自定义标题(IS_LOGIN)来解决这个问题,并检查我的ajax响应。 但这不是一个好的解决scheme。 所以我的问题是: 处理这个问题的最好方法是什么? 为什么浏览器不让脚本处理302响应? 并自动强制我们的ajax创build另一个请求。 这是浏览器或jQuery库的问题? 有什么理由呢? (安全,…) 感谢您的回复。

Ajax jQuery的成功范围

我有这个ajax调用一个doop.php 。 function doop(){ var old = $(this).siblings('.old').html(); var new = $(this).siblings('.new').val(); $.ajax({ url: 'doop.php', type: 'POST', data: 'before=' + old + '&after=' + new, success: function(resp) { if(resp == 1) { $(this).siblings('.old').html(new); } } }); return false; } 我的问题是$(this).siblings('.old').html(new); 线路没有做它应该做的事情。 谢谢..所有有用的意见/答案都被投票了。 更新:似乎一半的问题是范围(谢谢你的答案,帮助我澄清),但另一半是,我试图以同步方式使用Ajax。 我创build了一个新post

CORS错误在同一个域?

我现在正在遇到一个奇怪的CORS问题。 这里是错误信息: XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[…] Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin 两台服务器: localhost:8666 / routeREST /:这是一个简单的Python Bottle服务器。 localhost:8080 /:Python simpleHTTPserver,我运行Javascript应用程序。 这个应用程序正在上面的服务器上执行Ajax请求。 任何想到可能是什么问题? 编辑: 而…港口是问题。 感谢您的回答:) 如果有人使用Python瓶服务器,你可以按照这个post给出的答案来解决CORS问题: Bottle Py:为jQuery AJAX请求启用CORS