Tag: content type

提交表单是返回application / json而不是text / html

我已使用以下内容更改了Get submit: 至: @using(Html.BeginForm(null, null, FormMethod.Post, new { id = “homeCategoryForm” })) { @Html.AntiForgeryToken() @Html.Hidden(“ids”) @Html.Hidden(“categoryId”) @Html.Hidden(“search”) @Html.Hidden(“location”) } 使用JQuery提交它: $(document).on(“click”, “.innerelement”, function (e) { var elementId = e.target.id.split(‘_’)[1]; action = “/” + $(“#controller_” + elementId).val() + “/” + $(“#action_” + elementId).val(); $(“#homeCategoryForm”).attr(“action”, action); $(“#ids”).val($(“#ids_” + elementId).val()); $(“#categoryId”).val($(“#categoryId_” + elementId).val()); $(“#search”).val($(“#search_” + elementId).val()); $(“#location”).val($(“#location_” + […]

如何从iframe获取内容类型?

有没有办法在附加到它的load事件处理函数中获取iframe内容的内容类型?

jQuery AJAX只获取标题并决定是否获取内容

我正在制作一个基于jQuery.ajax()的AJAX脚本,并且已经到了我应该以某种方式检查我正在尝试加载的链接是一个html页面还是像SWF,图像或zip那样不同的东西。 所以我需要以某种方式检查内容类型标题并决定是否应该获取内容(如果它是html)或抛出ajax调用并执行window.location = theUrl 。 我不想要的是获取整个文件只是为了找到它是一个100MB的zip文件。 有没有办法在请求仍然继续时“暂停”(或中止)请求并只读取标题? HEAD调用不是一个选项,因为这样我每次都必须向服务器发出2个请求。 也许某种破解与setTimeout和低级xhr函数? 提前致谢! 🙂 编辑:尝试在请求完成之前在setTimeout中从xhr获取头文件,但在获取所有数据之前似乎没有填充它。 编辑2:我在jquery的事情上乱砍了自己与onreadystatechange绑定的东西: var xhrr = new window.XMLHttpRequest(); $.ajaxSetup({ xhr: function() { return xhrr } }); … $.ajax(….); var theirfunc = xhrr.onreadystatechange; xhrr.onreadystatechange = function() { console.log(‘xhr state: ‘, xhrr.readyState); theirfunc(); }; 所以这给了我状态1,2,3,4的顺序,我可以得到内容类型并成功中止。 我还在调查当jquery本身创建XMLHttpRequest对象时它为什么不起作用。 如果我跳过ajaxSetup部分并获取var xhrr = $.ajax(…)然后以相同的方式绑定它将无法工作。 那么我的xhr和jquery有什么不同呢? 我看到他们这样做: function createStandardXHR() { try { […]

在IE的请求中设置AJAX内容类型标头

从Internet Explorer发送跨域jquery ajax http请求时,是否可以将http内容类型请求标头设置为’application / json’? 我们正在尝试点击REST WCF服务,该服务在格式化响应时解释请求标头中的内容类型。 现在,无论我们在请求标头中放入什么,它总是以XML格式返回数据。 我们已经尝试使用jquery.ieco​​rs.js插件扩展了jquery ajax调用以使用XDomainRequest对象,但仍然忽略了我们的jquery ajax调用中设置的内容类型。 这是我们的ajax调用的样子: makeGETRequest: function (requestUrl) { return $.ajax({ type: “GET”, url: requestUrl, contentType: ‘application/json’, dataType:’json’, cache: false }); }

使用javascript获取’File’对象的内容类型

我有两个文件具有相同的扩展名如下: 1) test_audio_file.mp4 (仅包含音频内容) 2) test_video_file.mp4 (包含音频和video内容) 上传文件后,我正在创建上传文件的File对象。 我想检查File对象的内容类型。 即第一个文件的audio/mp4和第二个文件的video/mp4 。 当我使用file_object.type方法打印文件类型时,我在两种情况下都获得了video/mp4 。 我的假设是我将获得第一个文件的audio/mp4和第二个文件的video/mp4 。 我在这里放一行代码: loadFile: function(file) { console.log(file.type); }; 是否有任何方法或方法来获取第一个文件的内容类型audio和第二个文件的video 。 任何想法都会很棒。 谢谢!

使用Rails和jQuery文件上载将Content-Type直接设置为S3上载

我在这个主题上看到过很多问题,但是我遇到过的任何问题都没有对我有用,所以我在这里张贴另一个…… 我正在使用Ruby on Rails尝试使用jQuery File Upload插件直接配置文件上传到Amazon S3。 我跟着非常有用的Heroku教程来完成初始设置。 文件上传很好,但在S3中它们都被标记为Content-Type: binary/octet-stream ,所以当它们在应用程序中提供时,所有文件都会下载而不是直接打开。 这是一个问题,因为我试图允许图像,PDF,音频或video文件,所以我需要能够从文件中获取正确的Content-Type并将其传递给S3。 在查看亚马逊上的AWS-SDK gem文档时,我看到了本节有关将.where(:content_type).starts_with(“”)到预先签名的post对象末尾以修改策略的内容。 但是,当我这样做时,它引发了一个错误: AccessDenied Invalid according to Policy: Policy Condition failed: [“starts-with”, “$Content-Type”, “”] 所以我将content_type: “”添加到预先签名的post对象的opts哈希中,现在它再次工作,但是所有文件默认为binary/octet-stream它们都默认为image/jpeg 。 这是我现在的代码: 调节器 def new @s3_direct_post = S3_BUCKET.presigned_post( key: “uploads/#{SecureRandom.uuid}/${filename}”, success_action_status: 201, acl: :public_read, content_type: “”).where(:content_type).starts_with(“”) end _form.html.haml :javascript $(function() { $(‘.directUpload’).find(“input:file”).each(function(i, elem) { var fileInput = […]

使用contentType调用Ajax:’application / json’无效

我有一个ajax调用,它将表单数据发送到php函数。 由于我阅读了很多使用contentType: ‘application/json’是最佳实践,我也想尝试一下。 但不幸的是,当我使用它时,我的脚本不会返回任何内容。 如果我删除它,脚本会执行它应该执行的操作。 你知道原因可能是什么以及为什么? 谢谢! $(‘#Form’).submit(function(e) { e.preventDefault(); var content = $(this).serialize() + “&ajax=1”; $.ajax(‘app/class/controller/contactForm.php’, { type: “POST”, //contentType: ‘application/json’, dataType: ‘json’, data: content, success: function(result) { console.log(result); } }); }) 和我的PHP: if(isset($_POST[‘ajax’]) && $_POST[‘ajax’] === ‘1’) { echo json_encode(validateForm($_POST)); }

Jquery忽略编码ISO-8859-1

我有一个网站,它从字符串中删除正确的编码(ISO-8859-1)并发送错误。 我在我的HTML中指定了此编码 我通过加载我的JavaScript <script type="text/javascript" charset="ISO-8859-1" src="… 我通过JQuery Ajax Request发送信息(带有德语特殊字符’ö’和’ä’): $.ajax({ url: ‘..’, type: ‘POST’, contentType: ‘application/xml;charset=ISO-8859-1’, data: xmlRequest.html(),… 这被转换为请求,在Chrome开发人员工具中,我在Request Header中看到了这一点: .. Content-Type: application/xml;charset=UTF-8 .. 那里发生了什么? 当然特殊字符编码错误(“¶”而不是“ö”)服务器无法理解我,我得到一个错误。