Итак ... У меня проблема здесь, я создал несколько функций. Моя цель - вызывать их с помощью простых запросов AJAX.
Например:
function createPost(title,description,category,subcategory,tags){
let data = {"kind":"Posts","key":""+title+"","value":{"category":""+category+"","description":""+description+"","subcategory":""+subcategory+"",
"tags":"{'tags' : [{'name':'Lince','color':'blue'},{'name':'BUG','color':'orange'}]}"}};
$.ajax({
type: "POST",
url: "https://"+REGION+"-"+PROJECT_ID+".cloudfunctions.net/"+DATASTORE_CREATE_POST+"",
data: JSON.stringify(data),
crossDomain: true,
dataType: 'json',
contentType: 'application/json',
success: function(response) {
console.log(response);
},
error: function(response) {
console.log(response);
},
});}
У меня есть эта функция для сохранения нового ключа вида:
exports.set = (req, res) => {
//SET CORS
res.set('Access-Control-Allow-Origin', "*")
res.set('Access-Control-Allow-Methods', '*')
res.set('Access-Control-Allow-Headers','*')
// The value contains a JSON document representing the entity we want to save
if (!req.body.value) {
throw new Error(
'Value not provided. Make sure you have a "value" property in your request'
);}
const key = getKeyFromRequestData(req.body);
const entity = {
key: key,
data: req.body.value,
};
return datastore
.save(entity)
.then(() => res.status(200).send(`Entity ${key.path.join('/')} saved.`))
.catch(err => {
console.error(err);
res.status(500).send(err.message);
return Promise.reject(err);
});
};
Если проверить эту функцию на сайте Google, результат в порядке:
Но, если я хочу вызвать ту же функцию в запросе AJAX, как я говорил ранее ... Я получаю:
Ошибка: не удалось обработать запрос