Tag: http

onReadyStateChange未在IE中为XHR请求触发

我有这个代码,我正在使用它在chrome中工作正常,但在IE中,看起来onreadystatechenge没有触发。 如何让它跨浏览器工作。 我在IE中读到你必须在发送之前放置onreadystatechange事件,但这不起作用。 此处的警报未触发。 是的,它是成功的。 if (xhr.status==200 && xhr.readyState==4) { alert(“DONE!”); } 这是整个请求。 function SendFile(evt) { var xhr = new XMLHttpRequest(); var data = new FormData(); var files = $(“#FileUpload1”).get(0).files; for (var i = 0; i < files.length; i++) { data.append(files[i].name, files[i]); } xhr.upload.addEventListener("progress", function (evt) { if (evt.lengthComputable) { var progress = Math.round(evt.loaded * […]

CORS PUT:找不到jQuery.ajax

我想将一些原始数据发送到我的子域: $.ajax({ url: “http://accounts.example.com:3000/me”, type: “PUT”, data: { wabo: “chabo” }, dataType: “json”, xhrFields: { withCredentials: true } }); 浏览器现在发送两个请求: 可以选择accounts.example.com:3000/me来检查CORS标头是否有效 PUT发送数据 第一个失败,HTTP 404 Not Found。 CORS repsonse标头看起来有效: HTTP/1.1 404 Not Found X-Powered-By: Express Access-Control-Allow-Origin: http://node.example.com:3000 Access-Control-Allow-Methods: HEAD, GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Headers: Content-Type, X-Requested-With, Origin, Accept Access-Control-Allow-Credentials: true Content-Type: text/plain Set-Cookie: connect.sid=s%3Aru8njoU2ZAnoKL2W2w%2B0BHF7.%2Fe%2FQI5f6NKRWQvWlcYEkMG7HHSxxj0haFDBUID2g45A; Domain=.example.com; […]

jquery ajax调用空查询字符串

所以,我正在使用jquery对我服务器上的php脚本进行ajax调用。 出于某种原因,我无法弄清楚,但是,没有发送查询字符串。 在$ _GET对象上使用var_dump()表明它是一个空字符串,Chrome的网络活动开发人员工具表明没有发送字符串。 $.ajax({ “url”:”../script/content.php”, “settings”: { “dataType”:”html”, “type”:”GET”, “data”:{ “id”:$(this).prop(‘id’) } } }).done( function(msg) { //$(‘#debug’).html(msg); $(‘#dialog’).html(msg); $(‘#dialog’).load(function() { $(‘#close’).click(function() { $(‘#over’).fadeOut(fadeTime); }); if ($(‘#unique’) > 0) { $(‘#unique’).load(function(){ $(‘#over’).fadeIn(fadeTime); }); } else { $(‘#over’).fadeIn(fadeTime); } }); }); 我曾经尝试过没有引号的ajax调用,他们手头没有必要,结果是一样的…我只是把它们放进去因为我认为这可能是问题…虽然我认为这样的符号引号没有区别,除非其中一个字段值应该是一个字符串。 该代码中是否有任何明确的内容可能导致查询字符串无法发送? 我想我的语法有问题…我只是看不到它。 #dialog加载回调似乎永远不会被调用,但我猜这是另一个问题。

使用HTML表单发送跨域HTTP Post

我有这个HTML表单,我需要在提交之前进行一些处理: Message Clear Send 基本上,我需要做的是: 单击提交按钮时,将出现一个弹出窗口,指示消息已提交(通过检查服务器响应), 我需要复制特定表单输入的值,比如输入元素的值。 然后将电子邮件添加到实际消息之前,这样“消息”forms将例如”Email: x@dot.com Message: Hello world” < – 这将是输入元素的值name =“message”就在将表单字段发送到api之前 更新: 在我的问题中,我的意思是我想将这个基于HTML的基于HTML的表单迁移到Ajax调用中,如果这样会更好,那么我可以轻松实现上面概述的目标。

无法使用jQuery发送CORS POST请求

我正在尝试通过ajax将POST请求发送到单独的子域。 预检请求(OPTIONS)成功,但以下XMLHttpRequest请求返回“Access-Control-Allow-Origin不允许来源http://app.example.com ”。 客户端(app.example.com)代码如下所示: var settings = { url: ‘http://api.example.com/auth’, type: ‘POST’, contentType: ‘application/json’, crossDomain: true, headers: {“X-Requested-With”: “XMLHttpRequest”}, username: data.username, success: callback, error: callback }; $.ajax(settings); 服务器端代码(api.example.com)如下所示: $this->output->set_header(‘Content-Type: application/json; charset=utf-8’); $this->output->set_header(‘Access-Control-Allow-Origin: http://app.example.com’); $this->output->set_header(‘Access-Control-Allow-Methods: GET, PUT, POST, DELETE, HEAD, OPTIONS’); $this->output->set_header(‘Access-Control-Allow-Headers: X-Requested-With, Origin, X-Csrftoken, Content-Type, Accept’); $this->output->set_header(‘Access-Control-Allow-Credentials: true’); OPTIONS请求返回200状态。 我希望有人能告诉我我错过了什么。 谢谢!

成功的HTTP请求后,“未捕获的SyntaxError:意外的令牌<”

我正在尝试使用jQuery和SAP后端系统提供的ODATA REST服务来执行AJAX。 $.ajax({ type: ‘GET’, url: ‘http://sapxx.sapms/sap/opu/odata/…/’, async: true, dataType: ‘jsonp’, username: ‘username’, password: ‘password’, crossDomain: true, success: function() { alert(‘Done.’); }, error: function() { alert(‘Error.’); }, }); 请求返回状态200,我从服务器得到响应,称为“?callback = jQuery3100687 …”并包含xml代码。 所有这些都在Chrome调试器中可见。 但是在成功的HTTP请求之后我得到了上述错误 Uncaught SyntaxError: Unexpected token < 我怀疑错误是由于“dataType”参数在请求中设置为“jsonp”。 有没有办法解决这个错误? 服务器只能使用XML格式进行响应。 该请求仅在dataType设置为“jsonp”时有效,我猜是因为它启用了CORS。 发送请求后,尽管有200状态,我仍然收到“错误”警告。

如何使用Ajax连接到Java servlet?

我正在使用java开发一个聊天客户端。 我能够连接到gtalk以及使用SMACK API聊天。 现在我需要对jsp servlet和ajax做同样的事情。 我可以进行身份​​validation并仅使用jsp和servlet获取好友列表。 但我必须使用Ajax进行聊天(这样页面就不会被刷新)。 对于发送和接收消息我在java中使用api的类。 代码如下: public void sendMessage(String message, String to) throws XMPPException { Chat chat = connection.getChatManager().createChat(to, this); chat.sendMessage(message); } public void processMessage(Chat chat, Message message) { if(message.getType() == Message.Type.chat) System.out.println(chat.getParticipant() + ” says: ” + message.getBody()); } 现在我如何在Ajax中做同样的事情? 我可以将API方法与ajax一起使用吗? 或者在servlet中使用这些并使用ajax从servlet获取响应并填充页面上的msg?

如何从ajax调用模拟501错误

我有一个http 501错误在这次调用中冒出来了: return $.ajax({ url: finalUrl, success: function (result) { console.log(‘success call result’); console.log(result); finalResult = result; }, data: JSON.stringify(data), type: ‘PATCH’, contentType: ‘application/json’ }); 如何返回模拟错误的模拟,以便我可以测试生产之外的修复? 我查看了chrome中的响应选项卡,我看到了一条HTML消息: Unsupported Request Unsupported Request PATCH to http://demo.site.com/serviceName/v1/requests/9305e338-666a-e611-8516-000c291891bb not supported. Reference #8.f0fd717.1472154919.9959c96 我们怀疑API根本没有受到攻击,被防火墙阻止。 我不知道在这种情况下我是否应该期待一个字符串或对象? 如果是object,那么该对象的成员是什么? 提琴手说: 服务器:AkamaiGHost 哑剧版:1.0 内容类型:text / html 内容长度:350 到期日:2016年8月25日星期四20:21:49 GMT 日期:2016年8月25日星期四20:21:49 GMT 连接:关闭

将角度服务数据传递给仪表图控制器

我的项目中有一个仪表图控制器,它必须显示角度服务的数据。 但是当我调用服务函数时,它不会接受来自服务的数据。 这是我正在尝试的: Controller.js angular.module(“app.controllers”, []) .controller(“gaugeCtrl”, [“$scope”,”config”,”myService”, function ($scope,config,myService) { $scope.gaugeHome = { gaugeData: myService.getdata(), gaugeOptions: { lines: 12, angle: 0, lineWidth: 0.47, pointer: { length: 0.6, strokeWidth: 0.03, color: “#555555” }, limitMax: “false”, colorStart: config.secondary_color, colorStop: config.secondary_color, strokeColor: “#F5F5F5”, generateGradient: !0, percentColors: [ [0, config.secondary_color], [1, config.secondary_color] ] } } ]) 这是我的服务数据。它确实获取数据但无法传递到控制器代码中的控制器val字段 var […]

Slim PUT返回NULL

我有Slim Framework和PUT请求的问题。 我有一个简单的jQuery脚本,它会在单击按钮时更新到期时间。 $(“#expiry-button”).click(function(event) { event.preventDefault(); $.ajax({ url: ‘http://www.domain.com/expiry/38/’, dataType: ‘json’, type: ‘PUT’, contentType: ‘application/json’, data: {aid:’38’}, success: function(){ var text = “Time updated”; $(‘#expiry’).text(text).addClass(“ok”); }, error: function(data) { var text = “Something went wrong!”; $(‘#expiry’).text(text).addClass(“error”); } }); }); 我总是得到“出错了!” 在我配置了Slim的index.php中,我有这个 $app->put(‘/expiry/:aid/’, function($aid) use($app, $adverts) { $id = $app->request()->put($aid); $adverts->expand_ad_time($id[“aid”]); }); 如果我var_dump($id)我得到NULL 响应标头如下所示: Status Code: […]