gpt4 book ai didi

javascript - $.ajax 表单使用 JSONP 提交到 Google Docs : "Resource interpreted as Script but transferred with MIME type text/html"

转载 作者:行者123 更新时间:2023-11-28 08:56:04 25 4
gpt4 key购买 nike

更新:问题已更改以反射(reflect) JSONP 的使用,并且出现了新问题,因此我更改了问题。

背景

  • 我需要向 Google 文档表单提交表单
    • 不幸的是,这对于特定情况来说是一个硬性要求。
  • 我需要创建一个网页作为此表单的更好界面(长话短说:人们将使用 iPad 来输入信息,并且它需要某些 UI 操作,而 Google 表单默认情况下不具备)。
  • 我可以通过 HTML 表单的“操作”进行此提交;但是,我需要重写表单提交,以便我可以在客户端执行一些自定义编码器,通过 Ajax 提交表单,然后清除表单以获取新条目。

目标

  • 单击提交按钮后,通过 Ajax 提交表单,并根据响应的成功或失败执行某些操作。

问题/问题

我在 Chrome 控制台中看到以下错误(省略了表单键);

Resource interpreted as Script but transferred with MIME type text/html

如何避免这种情况?有什么方法可以将这些数据提交到 Google 表单而不触发此问题?

到目前为止的代码

HTML 页面:

<form id="ss-form" name="googleform" class="pure-form pure-form-aligned">
<!-- Fields omitted for brevity -->
<input type="submit" class="pure-button pure-button-primary" id="btnSubmit" />
</form>

JavaScript:

    $(document).ready(function () {
console.log("Document Ready");
disableFormSubmissionEvent();
wireUpSubmitButton();
});

disableFormSubmissionEvent = function () {
console.log("Disabling sumission Event");
$('#ss-form').submit(function () {
return false;
});

wireUpSubmitButton = function () {
console.log("Wiring up submit button");
$("#btnSubmit").click(function () {
submitForm();
});

尝试提交表单的 JavaScript(省略表单键):

  submitForm = function (event) {
console.log("obtaining form data");
var thedata = $('#ss-form').serialize();
console.log("Attempting Form Submission");
var submissionUrl = "https://docs.google.com/forms/d/[...]/formResponse";
$.ajaxSetup({ cache: false });
$.ajax({
type: 'GET',
dataType: 'jsonp',
crossDomain: true,
url: submissionUrl,
data: thedata
}).success(function () {
clearForm();
showSuccessMessage();
}
)
.fail(function (jqXHR, textStatus, errorThrown) {
showFailureMessage(jqXHR, textStatus, errorThrown, submissionUrl);
});

最佳答案

Google 文档响应返回一个 html 页面,因此没有 json/jsonp 适合您,并且它是跨域的。我的建议是在您的网站上构建一个代理,该代理将提交到 google doc 并返回 json

关于javascript - $.ajax 表单使用 JSONP 提交到 Google Docs : "Resource interpreted as Script but transferred with MIME type text/html",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com