1
버튼 (id = change)을 클릭하면 Admin SDK에서 https 트리거 된 기능을 통해 내 firebase 실시간 데이터베이스에 쓰려고합니다. 이것은XMLHttpRequest가 Cors를 사용한 후에도 firebase 클라우드 기능 URL을로드 할 수 없습니다.
는 아래
$('#change').click(function(){
$.ajax({
url: 'https://<CLOUD FUNCTION URL>/verifyuser?uid='+user.uid,
type: "GET",
cache: false,
dataType: "text",
crossDomain: true,
success : function(result){console.log(result);},
error : function(error){console.log(error);}
});
});
는 HTTP 요청에 트리거 내 중포 기지 클라우드 기능입니다 클라이언트 측 코드에서 아약스 get 메소드입니다. 내 콘솔에 표시
const functions = require('firebase-functions');
const admin=require('firebase-admin');
admin.initializeApp(functions.config().firebase);
const cors=require('cors')({origin: true});
exports.verifyuser = functions.https.onRequest((req, res) => {
cors(req, res,() => {
const uid=req.query.uid;
admin.database.ref('/tathva17/users/'+uid+'/hospitality').set(
{'status':'confirmed'}).then(function(){
res.status(200).send("Success!");
});
});
});
오류 (ID = "변화") 버튼을 클릭 한 후
기능 콘솔에 로그인 된 항목은 무엇입니까? –
* "응답에 HTTP 상태 코드 500이 있습니다."*는 CORS 구성과 관련이없는 내부 서버 오류가 있음을 나타냅니다. 브라우저에 CORS 오류 메시지가 표시되는 유일한 이유는 많은 서버가 일반적으로 500 개의 응답 또는 다른 오류 응답으로 Access-Control-Allow-Origin을 보내지 않고 Access-Control-Allow-Origin ok- 상태/성공 응답. 따라서 CORS 문제가 아니며 대신 서버 측에서 서버 로그를 확인하여 500 개의 내부 오류의 원인에 대해 어떤 메시지가 기록되는지 확인하십시오. – sideshowbarker
그것은 admin.database.ref()가 함수가 아니라는 것을 말하는 유형 오류를줍니다. 함수가 아닌 방법을 얻지 못합니다. –