我正在从表单收集一些数据,并将其发布到Google Sheet onClick。发布数据后,用户将被重定向到另一个页面。
我用香草Javascript编写了代码-该应用程序在vue中,但是该方法在纯JS中。)
所有功能在台式机浏览器上均能正常运行,但在移动设备浏览器(iOS上为chrome&safari)上却无法正常工作,在移动浏览器中,数据不会发布且用户未重定向。看来按钮什么也没做。
这是我的代码:
buttonAction () {
this.checkedStar()
this.$emit('close')
}
检查星号形式:
checkedStar () {
let star = document.getElementsByTagName('input')
for (var i = 0; i < star.length; i++) {
if (star[i].type === 'radio' && star[i].checked) {
this.starRating = document.getElementById(star[i].id).value
}
}
// save data in state
this.$store.dispatch('setStarRating', this.starRating)
// calling the google sheet method
this.saveToGoogleSheet()
}
发布到Google表格:
saveToGoogleSheet () {
const scriptURL = 'https://script.google.com/macros/s/.../exec'
const form = ''
var sendingData = new FormData(form)
sendingData.append('starRating', this.feedbackData.starRating)
fetch(scriptURL, {method: 'POST', body: sendingData})
}
同样,这在台式机上完美运行,问题出在手机上。
移动浏览器问题似乎是已知的。但是我没有找到问题所在(Google Sheet API,FormData或fetch等)以及是否可以解决的明确答案。
我还在chrome上尝试了“请求桌面网站”选项,但仍然无法正常工作。
如何使此代码在移动浏览器上工作?