通过AJAX向Google表单发送数据
Sending data to Google Forms via AJAX
我想通过AJAX请求向Google表单发送数据。
我已经设置了一个谷歌表单,当我从一个直接链接使用它时,它工作得很好。
但是,当我加载下面的页面:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello Google Forms</title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js">
</script>
<script>
// entry ids
var entry_id_email = "entry.XXX";
var entry_id_name = "entry.XXX";
// data to be sent
var data = {};
data[entry_id_email] = "foo@bar.com";
data[entry_id_name] = "Foo Bar";
// form key
var form_key = "XXX";
// url
var url = "https://docs.google.com/forms/d/" + form_key + "/formResponse";
// ajax request
$.ajax({
url: url,
data: data,
type: "POST",
dataType: "xml",
});
</script>
</body>
</html>
我得到以下错误:
XMLHttpRequest cannot load https://docs.google.com/forms/d/XXX.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://myorigin' is therefore not allowed access.
错误提示您正在使用跨域ajax请求。因此需要将attype从xml更改为jsonp。这将修复表单提交问题。但是你会得到以下错误:
拒绝执行来自'https://docs.google.com/forms/d/key...ion%201&callback=jQuery111307080722744576633_1445478442168&_=1445478442169'的脚本,因为它的MIME类型('text/html')不可执行,并且启用了严格的MIME类型检查。
此问题无法修复,因为更新了跨域JSONP XML响应。
相关文章:
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将单击事件添加到数据表
- 预览数据表单
- Ajax数据表单序列化防止双重提交
- 如何在 Spring Framework 中处理表数据表单提交
- 发布大型数据表单 Angular JS
- 覆盖Magento中的默认数据表单提交JS活动
- 保存不带按钮的数据表单
- 更新Highchart数据表单导出按钮
- 将数据表单转换为PDF
- 我的Angular视图没有用数据表单服务器更新
- 如何在不重新加载页面的情况下获取数据表单数据库
- JavaScript SDK返回数据表单嵌套函数
- 使用php AJAX发送数据表单请求失败
- 数据表单$scope在Angular的view (page)中不显示
- 实时交换 HTML 数据表单
- 搜索parse.com数据表单html输入
- 如何在MVC中返回JSON数据表单控制器到jsp