我正在更新一个对象。我首先通过以下方式找到它:
**编辑**
添加了用于设置和保存对象的附加代码。
var query = new Parse.Query(iBeacon);
query.equalTo("uuid", searchUUID.children("input[type=text]").val().toString());
query.find({
success: function(results) {
var detailsObject = results[0];
//tduuid, tdoffer, tdproximity etc are globals intitialized earlier in code
//from values obtained from html table cells
var uuid = tduuid.children("input[type=text]").val().toString();
var offer = tdoffer.children("input[type=text]").val().toString();
var prox = parseInt(tdproximity.children("input[type=text]").val().toString());
var campaignId =tdcampaignId.children("input[type=text]").val().toString();
var location = tdGeoLocation.children("input[type=text]").val().toString();
var subLoc = tdinStoreLocation.children("input[type=text]").val().toString();
detailsObject.set("proximity", prox);
detailsObject.set("campaignId", campaignId);
detailsObject.set("location", location);
detailsObject.set("sub_location", subLoc);
detailsObject.set("uuid", uuid);
detailsObject.save(null, {
success: function(detailsObject) {
var content = Parse.Object.extend("Content");
var contentQuery = new Parse.Query(content);
var id = detailsObject.id;
//Querying Content Table on detailsObject to obtain correct record
contentQuery.equalTo("descId", detailsObject);
contentQuery.find({
success:function(contentObject){
contentObject[0].set("offer", offer);
contentObject[0].save(null, {
success: function (result){
//alert("offer saved successfully");
document.location.reload(true);
}, error:function(error){
alert("unable to save offer");
}
});
},error: function(error){
alert("Error "+ error.message);
}
});
},
error: function(error) {
alert(error.code + " , " + error.message);
}
});
},
error: function(error) {
alert(error.message);
}
});
所以你可以看到我查询了这个专栏&#34; uuid&#34;在iBeacon课程中。我正在根据用户输入到html表中的数据进行更新。我可以更新其他所有列,但我无法更新我的&#34; uuid&#34;,我猜这是因为这是查询的一部分,我不能这样做吗?我通过查找具有不同参数的对象来尝试这一点,特别是那些无法更新的对象....我需要更新它并且我很感激任何帮助。< / p>
进一步编辑
我一直在尝试这方面的事情,并且已经注意到,如果我将硬编码字符串放入我设置uuid的地方,即detailsObject.set("uuid", "UUID EDIT");
这可以正常工作,但是,当我设置uuid时获得的值表格单元格没有继续。我调试了它并获得了正确的值。为了测试,我查询了categoryId,当我尝试更新categoryId它也不会工作,但如果我更新了uuid或任何其他列而没有更新categoryId,那就没有问题了。
使用不同的编辑器,在调试Uncaught TypeError: Cannot read property 'set' of undefined
答案 0 :(得分:0)
需要注意的一点是,Parse字符串区分大小写。如果将它们存储为小写,则需要使用小写进行搜索。
使用类似uuid
字段的内容,您可以在写入之前强制输入大写/小写,然后根据需要强制用于搜索的用户输入为大写/小写。
答案 1 :(得分:0)
我终于解决了这个问题。这个问题确实是在搜索查询时引入了编辑过的uuid而不是原始的uuid时,有一个与javascript初始化的混合。
所以我需要将原始的uuid(从解析中提取)存储为全局字符串变量。我错误地存储了它。
谢谢大家的帮助