【发布时间】:2017-01-17 21:12:49
【问题描述】:
我的 wordpress 网站上的 footer.php 中有以下代码
var myForm = document.getElementById("questionnaire");
if (myForm) {
myForm.onsubmit = function() {
var questionDiv = document.getElementById('question-div');
var busyDiv = document.getElementById('busy');
var resultDiv = document.getElementById('result-div');
var resultList = document.getElementById('result-list');
var xhr = new XMLHttpRequest();
var url = "https://script.google.com/macros/s/xxxxx/exec";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onload = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);
var result = response.result;
for (var i in result) {
var e = result[i];
if (e) {
var li = document.createElement('li');
if (e.url) {
var a = document.createElement('a');
a.href = e.url;
a.textContent = e.name;
li.appendChild(a);
} else {
li.textContent = e.name;
}
resultList.appendChild(li);
}
}
busyDiv.hidden = true;
resultDiv.hidden = false;
}
}
var form = document.getElementById('questionnaire');
var formData = new FormData(form);
var fields = ['name','email','yob','gender','xxx','yyyy'];
var params = [];
for (var i in fields) {
var field = fields[i];
params.push(field + "=" + formData.get(field));
}
xhr.send(params.join('&'));
questionDiv.hidden=true;
busyDiv.hidden=false;
return false;
};
}
</script>
这让我可以编写和引用谷歌表格中的数据
现在这一切都可以在 PC 上运行,但它会在移动网站上显示 404 not found 错误,并且网站本身预设为移动响应。
有人可以帮忙吗?
简
【问题讨论】:
-
页面本身是 404 吗?如果是这样,它与页脚中的 Javascript 无关。 AJAX 查询在移动设备或桌面设备上的行为也不同,这似乎很不寻常。
-
您需要在 fiddle 中对其进行测试,以了解它是否是该脚本或您网页中的其他任何内容导致移动浏览器出现问题。转到此小提琴链接并通过粘贴#questionnaire 表单元素然后检查结果来测试代码:jsfiddle.net/h9pxkucr
-
@dave: 所以页面没问题,然后 id 输入一些数据并点击提交。然后页面刷新成 404...
-
你认为是主题问题吗?我会对此进行更多研究。并将在 jsfiddle 上进行测试,谢谢!!
标签: javascript php html css wordpress