ajax 相关问题

AJAX(异步JavaScript和XML)是一种通过客户端和服务器之间的异步数据交换来创建无缝交互式网站的技术。 AJAX有助于与服务器进行通信或部分页面更新,而无需传统的页面刷新。

AJAX回调通过浏览器下载文件

当用户单击按钮时,会对服务器进行ajax调用。服务器返回一个文本文件。 我希望浏览器自动下载该文件。 .jsp 按钮 当用户单击按钮时,就会对服务器进行 ajax 调用。服务器返回一个文本文件。 我希望浏览器自动下载文件。 .jsp button <button type="submit" id="btn_load" value="Search" class="btn btn-primary">Generate I-618</button> .js file - when button is click $("#btn_load").click(function(e) { event.preventDefault(); form = $('#bookList'); var post_url = form.attr("action"); let form_data = form.serialize(); $.ajax({ url: post_url, type: "POST", data: form_data, success: function(data, textStatus, jqX) { // **data is a .txt file. HOW DO TELL BROWSER TO DOWNLOAD THE FILE ?** console.log(data); //print the data from the file }, error: function(XMLHttpRequest, textStatus, errorThrown) { } }); }); }); java:函数返回一个 .text 文件,当用户单击按钮时要从浏览器下载该文件 @RequestMapping(value = "/book.htm") public ResponseEntity<InputStreamResource> bookselection( @ModelAttribute("books") Books book, Model model, HttpServletRequest request, BindingResult result) { List<InputStreamResource> listStream = new ArrayList<InputStreamResource>(); String fileName = "book.txt" if (CollectionUtils.isNotEmpty(bookList)) { File file = File.createTempFile(fileName, ".txt"); FileWriter interfaceFileWriter = new FileWriter(file); BufferedWriter interfaceBufferedWriter = new BufferedWriter(interfaceFileWriter); //write to file for (Book list : bookList) { interfaceBufferedWriter.write(list.getDelimitedRecord(delimiter, nullValue)); } interfaceBufferedWriter.close(); HttpHeaders headers = new HttpHeaders(); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); headers.setContentDispositionFormData(fileName + ".txt", fileName + ".txt"); InputStreamResource resource = new InputStreamResource(new FileInputStream(file)); if (file != null && file.exists()) { listStream.add(resource); return ResponseEntity.ok().contentType(MediaType.TEXT_PLAIN).headers(headers).body(resource); } } return null; } 如何告诉浏览器自动下载文件,即ajax响应(数据)? 要触发自动下载文件以响应 AJAX 调用,您可以动态创建具有下载属性的链接并触发对该链接的单击。您可以通过以下方法修改成功回调来实现此目的: $("#btn_load").click(function (e) { event.preventDefault(); form = $("#bookList"); var post_url = form.attr("action"); let form_data = form.serialize(); $.ajax({ url: post_url, type: "POST", data: form_data, success: function (data, textStatus, jqX) { // Create a Blob from the data var blob = new Blob([data], { type: "text/plain" }); // Create a link element var link = document.createElement("a"); // Set the download attribute and create a URL for the file link.download = "your_filename.txt"; link.href = window.URL.createObjectURL(blob); // Append the link to the document document.body.appendChild(link); // Trigger a click on the link to initiate the download link.click(); // Remove the link from the document document.body.removeChild(link); }, error: function (XMLHttpRequest, textStatus, errorThrown) { // Handle errors }, }); }); 此代码根据 AJAX 响应中收到的数据创建一个 Blob,创建一个链接元素,设置 download 属性和文件的 URL,将链接附加到文档,触发对链接的单击,然后最后从文档中删除链接。 确保将 'your_filename.txt' 替换为下载文件所需的文件名。

回答 1 投票 0

纯 JavaScript 的 AJAX 请求出现“ActionController::InvalidCrossOriginRequest”错误

我有这样的代码: jQuery.ajax({ url: url // 一些 URL }); 上面的代码完美运行。但是,我需要将此代码转换为纯 JS。所以我做了: var xhttp = new XMLHttpRequest();

回答 2 投票 0

如何从 magento 2 中的控制器获取 ajax 响应

我尝试进行ajax调用并在控制器中传递下拉值,并在视图文件中获取特定的相关订单信息。响应是真实的,但在我看来如何利用该响应......

回答 1 投票 0

一起或单独加载远程项目?

我正在寻求优化我的应用程序。它使用 Twitter 和 Facebook API 并加载大文件以显示在用户屏幕上。现在,我正在线性运行脚本,调用一个......

回答 1 投票 0

从按钮将数据传递到模态

我想使用查询参数向我的 django 视图发出发布请求。查询参数来自 html 模板。在模板中的接受按钮上,将打开一个模式。并且有一个接受按钮......

回答 1 投票 0

如何在不重新加载页面的情况下更新EJS模板数据

我有一个 EJS 模板,它从服务器获取文件 userData。 如何实现模板中userData的刷新而不需要重新加载页面? 我已成功将数据提交到服务器

回答 1 投票 0

PHP readfile 输出错误的名称

我有一个 download.php 页面,用户可以在其中下载 XML 文件。根据下拉列表选择文件并获得不同的名称。我使用 AJAX 将名称发送到 download.php,因此 $_POST ret...

回答 1 投票 0

如何使用 ASP.NET MVC 5 将数据导出到 Excel 而无需重新加载页面?

将数据导出到 Excel 的过程正在运行。但我不需要重新加载页面。当我尝试按“将数据导出到 Excel”时,页面正在重新加载。如何避免这种情况?请帮忙。那个...

回答 2 投票 0

获取正文数据无效的帖子,参数为空

我正在尝试重写我的ajax调用来获取: 阿贾克斯: $.post({ 上下文:这个, url: "/api/v1/users", 数据: { 用户: { 电子邮件: 电子邮件, 密码: 密码...

回答 9 投票 0

在ajax之前和之后使用jQuery更新按钮文本

我正在尝试在 ajax 请求之前和之后更新登录按钮文本。然而,当按下提交按钮时,在 ajax 完成之前实际上没有任何变化。 (如果我没有做...

回答 1 投票 0

ASP.NET MVC:当两个控制器具有相同方法名称时找不到方法

我正在编写一个 ASP.NET MVC 应用程序。我有两个控制器,Controller1 和 Controller2。我的 Controller1 中有一个名为 SearchBySSN 的方法。我从视图中通过 Ajax 调用此方法: $.ajax( ...

回答 1 投票 0

XMLHttpRequestUpload loadend 事件会立即触发,无论 React 中的实际上传过程如何

当我在我的 React 应用程序中调用此函数(在 try...catch 块中等待它)时,onloadend 和 onprogress 事件会立即触发,尽管实际的上传过程需要一些时间(我

回答 1 投票 0

未捕获的语法错误:意外的令牌:AJAX

我创建了一个简单的表单来通过 API 返回翻译键列表。但它说 Uncaught SyntaxError: Unexpected token :这是我的示例代码。 我的表格: 我创建了一个简单的表单来通过 API 返回翻译键列表。但它说 Uncaught SyntaxError: Unexpected token : 这是我的示例代码。 我的表格: <form id="upload_form"> <button type="submit">Ajax Request</button> </form> 我的ajax调用: $("#upload_form").submit(function(e){ e.preventDefault(); $.ajax({ url:'https://lokali.se/api/string/list', data:'api_token=641bc8455768b09589806c7d489640789cfb49e1&id=7509115157679787966292.60209031', dataType:'jsonp', type:'post', contentType: 'application/x-www-form-urlencoded', success:function(response){ console.log('hi'); console.log(response); }, }); }); 当我通过 postman 测试 API 时,它返回 Success OK 200 响应 作为参考,请找到屏幕截图 我的错误来自这里{"response":{"status":"error","code":4049,"message":"Missing request parameter"}}有人可以帮助我吗? 你可以尝试像下面这样吗? $("#upload_form").submit(function(e){ e.preventDefault(); var envelope = {}; envelope.api_token = '641bc8455768b09589806c7d489640789cfb49e1'; envelope.id='7509115157679787966292.60209031'; $.ajax({ url:'https://lokali.se/api/string/list', data:envelope, dataType:'json', type:'post', contentType: 'application/x-www-form-urlencoded', success:function(response){ console.log('hi'); console.log(response); }, }); }); 检查json格式,例如: 改变: data:envelope 至: data : JSON.stringify(envelope)

回答 2 投票 0

Ajax 工具包不适用于网站部署

我的本地计算机上有一个工作网站。我决定购买一些主机并上传当前版本,并在工作时更新它。一切都在我的本地计算机上运行,只是有未完成的 p...

回答 3 投票 0

打开链接而不重新加载页面

当我单击链接时,我希望 page2.html 出现,而无需重新加载当前页面。尽管进行了所有尝试,当我单击链接时,它确实会在显示 page2.h 之前重新加载整个页面...

回答 3 投票 0

使用AJAX和Jquery保存tinymce编辑器

我一直在阅读与此问题类似的问题,并且已经取得了很大的进展,但显然我的情况略有不同,所以我仍在尝试解决这个问题。 我有一个表格...

回答 3 投票 0

如何通过 NodeJS 向端点发出 Ajax 请求

我正在使用 NodeJS。我的一个函数(我们称之为 funcOne)接收一些输入,我将其传递给另一个函数(我们称之为 funcTwo),该函数产生一些输出。 在我将输入传递给 func 之前...

回答 2 投票 0

如何修改$.ajax调用中的数据?

我有两个.html,content.html和footer.html。 内容.html 页脚.html 版权 我妈...

回答 1 投票 0

Asp.net MVC - Jquery $.ajax 错误回调未返回responseJSON

我有下面的代码,在开发机器上工作正常,但从远程浏览器调用时不行...... $.ajax({ 类型:'发布', url: '@Url.Action("Action", "Controller")', 数据:{ id:...

回答 2 投票 0

以 JSON 形式获取两次输出

我正在使用 CodeIgniter,我有一个表单,字段是 Employee_name、fromDate 和 endDate。我正在将数据发送到Ajax。(我还没有共享表单代码和模型代码)现在我正在显示reco...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.