Parse.Cloud.run无法识别变量

时间:2017-04-22 04:05:32

标签: javascript mongodb parse-server

我正在尝试使用mongodb将我的网站链接到Parse服务器。它运行良好,并保存,所以我可以在解析仪表板和mlab中看到。我试图添加一个新的变量,导致我弄乱了一些东西。当这个运行时,它会抛出一个错误,说没有在Parse.Cloud.run的行上定义地址。

document.getElementById("btn").addEventListener("click", function(){

  var name = document.getElementById('inp1').value;
  var address = document.getElementById('inp2').value;
  var city = document.getElementById('inp3').value;
  var state = document.getElementById('inp4').value;
  var zipcode = document.getElementById('inp5').value;

  var Apartment = Parse.Object.extend("Apartment");
  var apartment = new Apartment();

  apartment.set("name", name);
  apartment.set("address", address);
  apartment.set("city", city);
  apartment.set("state",state);
  apartment.set("zipcode", zipcode);

  apartment.save(null, {
              success: function(apartment) {
                  // Execute any logic that should take place after the 
object is saved.

                  alert('New object created with objectId: ' + prod.id);
              },
              error: function(error) {
                  // Execute any logic that should take place if the save 
fails.
                  // error is a Parse.Error with an error code and 
description.
                  alert('Failed to create new object, with error code: ' + 
error.description);
              }
          });
      });
Parse.Cloud.run("registerApartment",{"name":name,"address":address,"city": 
city, "state": state,"zipcode":zipcode,"map":map}, {
success: function(savedApartment){
 console.log(savedApartment);
}, error: function(error){
 console.log(error);
}
})

提前谢谢你!

云代码

Parse.initialize('#');
Parse.serverURL = 'http://localhost:1337/parse';


Parse.Cloud.define("registerApartment", function(req,res){
var params = request.params;
var name = params.name;
var address = params.address;
var city = params.city;
var state = params.state;
var zipcode = params.zipcode;



var Apartment = Parse.Object.extend("Apartment");
var apartment = new Apartment();

apartment.set("name", name);
apartment.set("address", address);
apartment.set("city", city);
apartment.set("state",state);
apartment.set("zipcode", zipcode);
apartment.set("map", map);

console.log(apartment);

apartment.save(null, {
success: function(savedApartment){
console.log("Succesfully saved bitch");
response.success(savedApartment);
}, error: function(error){
console.log(error);
response.error(error);
}
})
});

1 个答案:

答案 0 :(得分:0)

您可以仔细检查您定义云代码的服务器吗?

您的代码应该是这一行:

Parse.Cloud.define("registerApartment", function(req,res){
   ---your codes---
});

确保您的Parse.Cloud.run()正在调用您在服务器上定义的内容。

编辑: 尝试使用此代码而不是当前代码:

Parse.Cloud.run("registerApartment",{name:name,address:address,city: 
city, state: state,zipcode:zipcode,map:map}, {
success: function(savedApartment){
 console.log(savedApartment);
}, error: function(error){
 console.log(error);
}
})

我所做的就是在参数解析时删除引号。这应该工作正常:)