Safari错误。 Javascript ajax json对象 - 无法获取属性。对象可能不再存在
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Safari错误。 Javascript ajax json对象 - 无法获取属性。对象可能不再存在相关的知识,希望对你有一定的参考价值。
我有一个对php后端的Ajax调用。它在chrome中工作得很好但是当我在safari中运行它时,我得到一个'无法获取属性,对象可能不再存在'错误代码中的这一行 -
dataType:“JSON”,
这是功能。可能真的很简单。我实际上在网上找到了这个代码并重新利用它。不是真正的开发人员只是捏造我的方式:)
任何提示将非常感谢!正如我所说,Chrome中没有错误。
谢谢戴夫
function insertProjectData() {
var projectuid=$("#projectuid").val();
var projectIdentifier=$("#projectIdentifier").val();
var projectPIRDate=$("#projectPIRDate").val();
var projectName=$("#projectName").val();
var projectManagerName=$("#projectManagerName").val();
var projectSponsorDept=$("#projectSponsorDept").val();
var projectSponsorName=$("#projectSponsorName").val();
var projectSponsorContact=$("#projectSponsorContact").val();
var projectGTMDate=$("#projectGTMDate").val();
var projectTargetBudget=$("#projectTargetBudget").val();
var projectActualCost=$("#projectActualCost").val();
var projectScope=$("#projectScope").val();
var projectScopeDelivered=$("#projectScopeDelivered").val();
if ($('#projectDeliveredTimeline').is(':checked')) {
var projectDeliveredTimeline = "Yes";
}
else {
var projectDeliveredTimeline = "No";
}
if ($('#projectDeliveredPlan').is(':checked')) {
var projectDeliveredPlan = "Yes";
}
else {
var projectDeliveredPlan = "No";
}
var projectComments=$("#projectComments").val();
// AJAX code to send data to php file.
$.ajax({
type: "POST", q
url: "insert-projectdata.php",
data: {projectuid:projectuid,projectIdentifier:projectIdentifier,projectPIRDate:projectPIRDate,projectName:projectName,projectManagerName:projectManagerName,projectSponsorDept:projectSponsorDept,projectSponsorName:projectSponsorName,projectSponsorContact:projectSponsorContact,projectGTMDate:projectGTMDate,projectTargetBudget:projectTargetBudget,projectActualCost:projectActualCost,projectScope:projectScope,projectScopeDelivered:projectScopeDelivered,projectDeliveredTimeline:projectDeliveredTimeline,projectDeliveredPlan:projectDeliveredPlan,projectComments:projectComments},
dataType: "JSON",
success: function(data) {
closeitem(projectarea);
$("#ProjectSaved").show();
setTimeout(function() { $("#ProjectSaved").hide(); }, 2500,);
$('form[name=projectForm]').get(0).reset();
window.location.replace("lessons.php");
},
error: function(err) {
console.log(err);
}
});
}
奇怪的是这(另一页)工作正常!?...
function insertAreaData() {
var areauid=$("#areauid").val();
var areaName=$("#areaName").val();
var areaDesc=$("#areaDesc").val();
// AJAX code to send data to php file.
$.ajax({
type: "POST",
url: "insert-areadata.php",
data: {areauid:areauid,areaName:areaName,areaDesc:areaDesc},
dataType: "JSON",
success: function(data) {
closeitem(areaarea);
$("#AreaSaved").show();
$('form[name=AreaForm]').get(0).reset();
setTimeout(function() { $("#AreaSaved").hide(); }, 2000,);
window.location.replace("lessons.php");
},
error: function(err) {
console.log(err);
}
});
}
编辑:我现在已经在Internet Explorer中测试并遇到了同样的问题。
事实证明,该表单正在发布一个页面正在重新加载,并且出于某种原因谷歌Chrome正在为我处理此问题,而Safari和IE则没有。
我在表单中添加了以下onsubmit注释:
<form id="Project" name="projectForm" onsubmit="return false;">
当我点击提交按钮而不是运行javascript时,它阻止了它的执行。
为了完整起见,这里是提交:
<input type="submit" class="submit" id="projectSubmit" onclick="insertProjectData()" value="Save Project">
所以预期最终会有一个简单的事情......
以上是关于Safari错误。 Javascript ajax json对象 - 无法获取属性。对象可能不再存在的主要内容,如果未能解决你的问题,请参考以下文章
本地加载 XML 的 jQuery Ajax 问题 - Safari 版本 11.0 - 错误:XMLHttpRequest 无法加载 .xml。预检响应不成功
[JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单]
[JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单]