我正在尝试通过AJAX提交谷歌文档表单,但它不起作用。它一直试图将表单发送到我正在进行的GET页面,而不是我正在尝试的google表单POST网址请求。
我的表单看起来像
<form id="ss-form" target="_self" onsubmit="" action="">
.....
<input type="submit" name="submit" value="Submit" id="ss-submit" class="jfk-button jfk-button-action ">
</form>
和我的JS看起来像:
<script>
$('#ss-form').submit(function(e) {
e.preventDefault();
$.ajax({
url: "https://docs.google.com/a/example.com/forms/d/e/1FAI324B_-XUt0dQ-0AmlfwdfUu5dbEefwjVNud_hNlOKQ/formResponse",
data: $(this).serialize(),
type: "POST",
dataType: "xml",
success: function(data) {
console.log('Submission successful');
},
error: function(xhr, status, error) {
console.log('Submission failed: ' + error);
}
});
});
</script>
但是这只是重新加载我的页面,例如example.com?entry.1850833=test,这是一个GET请求。
为什么会发生这种情况?如何让它通过AJAX代码发送,并停止在当前页面刷新表单作为GET?
答案 0 :(得分:0)
尝试添加return false
$.ajax({
url: "https://docs.google.com/a/example.com/forms/d/e/1FAI324B_-XUt0dQ-0AmlfwdfUu5dbEefwjVNud_hNlOKQ/formResponse",
data: $(this).serialize(),
type: "POST",
dataType: "xml",
success: function(data) {
console.log('Submission successful');
},
error: function(xhr, status, error) {
console.log('Submission failed: ' + error);
}
});
return false;
答案 1 :(得分:0)
删除“_self”,因为您通过AJAX提交表单,所以应该没有目标。