Tag: Ajax

何时安全启用CORS?

我正在开发一个JSON / REST Web API,我特别希望第三方网站能够通过AJAX调用我的服务。 因此,我的服务正在发送着名的CORS标题: Access-Control-Allow-Origin: * 它允许第三方网站通过AJAX调用我的服务。 迄今为止都很好。 然而,我的networkingapi的一个小部分是非公开的,需要authentication(OAuth和access_token cookie相当标准的东西)。 在我的网站的这一部分启用CORS是否安全? 一方面,如果第三方网站可能有一个也与我的服务的这部分交互的ajax客户,那将是很酷的。 然而,起源相同的原因首先在于这可能是有风险的。 您不希望任何后来访问的网站能够访问您的私人内容。 我担心的情况是,用户通过网站或通过他信任的网站login我的networkingAPI,他忘记注销。 这是否允许每个其他网站,他后来访问他的私人内容使用现有的会议? 所以我的问题: 在非公开内容上启用CORS是否安全? 如果启用了CORS的服务器通过cookie设置session_token,这个cookie是否会保存在CORS服务器或主网页服务器的域下?

同步XMLHttpRequest警告和<script>

我收到一条警告消息: 主线程上的同步XMLHttpRequest由于对最终用户的体验有不利的影响而被弃用。 如需更多帮助,请查看http://xhr.spec.whatwg.org/ 。 当使用$.html()方法执行包含脚本(具有本地src )的asynchronousAJAX请求时,该脚本被注入到HTML中。 我已经改变了给定的脚本,以包含async="async" ,但警告消息仍然存在。 我已经开始debugging问题,发现我的附加的<script>是通过jQuery.ajaxTransport ( http://code.jquery.com/jquery-1.10.0.js,#8663 )的jquery AJAX调用来处理的,其中async被设置为false (这可能是问题的来源)。 现在 – 我能做些什么呢? 该消息显示在最新版本的Chrome和Firefox中。 尽pipe我无法在jsfiddle上提供testing用例,但下面是一个显示问题的testing用例: 的test.html <html> <body> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.js"></script> <script> $(document).ready(function(){ $.ajax({ url: '/response.html', success: function(response){ $(document.body).html(response); } }) }); </script> </body> </html> response.html <script type="text/javascript" src="/json.js" async="async"></script> json.js console.log('hi'); AJAX请求没有必要触发警告 – 所有需要的是插入一个<script> test2.html <html> <body> <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.js"></script> […]

什么HTTP状态代码在jQuery.ajax计数成功?

这个文档似乎没有详细说明jQuery.ajax中“成功”的含义。 它是任何2xx代码? 只有200?

语法错误:意外的标记<

我已经尝试了很多东西,没有办法,总是出现这个错误我试图使用只有一个选项,看看是否通过,改变了jquery的调用,但不是。 我在互联网上的各个地方查看这个错误,但是无法解决或理解为什么发生这种情况。 在我的电脑上使用EasyPHP的作品完美,但是当我上网不起作用。 语法错误:意外标记< 这是我的代码: $(function(){ $('#salvar').click(function(){ var key = 'salvar'; var title = $('#title').val(); var opcao1 = $('#opcao1').val(); var opcao2 = $('#opcao2').val(); var opcao3 = $('#opcao3').val(); var opcao4 = $('#opcao4').val(); var opcao5 = $('#opcao5').val(); var opcao6 = $('#opcao6').val(); if(title.length > 0){ if(opcao2.length > 0){ $('#resposta').removeClass().html('Salvando a enquete…<br clear="all"><br><img src="images/switch-loading.gif" />'); $.ajax({ type : 'POST', […]

调用一个没有实现接口FormData的对象上的“append”

我试图用jQuery和Ajax上传图像。 但奇怪的事情发生在这里。 在控制台中logging它的显示 TypeError:在不实现接口FormData的对象上调用“append”。 请告诉我我在这里做错了什么? JS脚本 var prosrc=$("#pro_pix img").last().attr("src"); $("#logoform").on('change',function(event){ var postData = new FormData(this); $("#pro_pix img").last().hide(); $("#pro_pix img").first().show(); event.preventDefault(); $.ajax( { url : "/function/pro_pic_upload.php", type: "POST", data : postData, success:function(data, textStatus, jqXHR) { $("#pro_pix img").last().show(); $("#pro_pix img").first().hide(); $("#pro_pix h6").text(data); }, error: function(jqXHR, textStatus, errorThrown) { //if fails } }); }); 我的HTML标记 <div class="row"> <!– […]

使用jQuery更改CSS类属性

有没有办法改变一个CSS类的属性,而不是元素属性,使用jQuery? 这是一个实际的例子: 我有一个与red类的div .red {background: red;} 我想改变类的red背景属性,而不是red背景分配类的元素。 如果我使用jQuery .css()方法 : $('.red').css('background','green'); 它会影响到现在有red的元素。 到这里一切都很好。 但是,如果我做了一个Ajax调用,并插入更多的red类的div,那些将不会有一个绿色的背景,他们将有最初的red背景。 我可以再次调用jQuery .css()方法 。 但是我想知道是否有办法改变class级本身。 请考虑这只是一个基本的例子。

如何在Reduce中创buildAJAX请求

就我所知,我必须在行动中编写请求创build。 如何使用承诺提交请求? 我正在获取数据。 然后在减速器中创build新的状态。 绑定动作和减速器连接。 但我不知道如何使用诺言的要求。 行动 import $ from 'jquery'; export const GET_BOOK = 'GET_BOOK'; export default function getBook() { return { type: GET_BOOK, data: $.ajax({ method: "GET", url: "/api/data", dataType: "json" }).success(function(data){ return data; }) }; } 减速器 import {GET_BOOK} from '../actions/books'; const booksReducer = (state = initialState, action) => { switch (action.type) […]

引导3 – 如何通过AJAX加载模态内容的内容?

正如你在这里看到的,我有一个启动模式的button。 为这个button设置一个href url,这个url会被Bootstrap 3自动加载到模态中。事实上,这个页面被加载到模态根目录(就像在引导3文档中为模态使用所说的那样)。 我想把它加载到模态体中。 有没有办法通过属性(而不是JavaScript)来做到这一点? 或者什么是最自动的方式呢? PS我记得在Bootstrap 2的内容被加载在身体,而不是根。

jquery .on()提交事件

我有.on()的问题。 我有多个表单元素(formsclass="remember" ),我也添加了另一个form.remember使用AJAX。 所以,我想要它处理提交事件如下所示: $('form.remember').on('submit',function(){…}) 但添加了AJAX的表单不起作用。 哪里有问题? 这是一个错误?

获取请求不通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头

我试图从我的应用程序发送一个Ajax请求到Tomcat服务器,但我得到这个错误(我的Web应用程序在Chrome上运行): 对预检请求的响应不会通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 原因'null'因此不被允许访问。 该响应具有HTTP状态码403。 我曾尝试使用 'Access-Control-Allow-Origin' : 'http://localhost:8080/app', 但它没有工作。 我的Ajax代码: var arr = [1]; $.ajax({ url: 'http://localhost:8080/app', type: 'POST', contentType:'application/json', headers: { 'Access-Control-Allow-Origin' : 'http://localhost:8080', }, data: JSON.stringify(arr[0]), success: function(data){ //On ajax success do this alert(data); } });