这是我第一次在 laravel 框架中使用 firebase 和 javascript。我正在尝试使用下面的函数实现短信 OTP 验证。然而,它不起作用。如果我删除 ajax 代码,该函数就可以工作。我似乎无法理解这个实现的问题。
注册-otp.blade.php
<div class="mb-5 mt-5">
<h3>Add verification code</h3>
<div class="alert alert-success" id="successOtpAuth" style="display: none;"></div>
<form>
<input type="text" id="verification" class="form-control" placeholder="Verification code">
<button type="button" class="btn btn-danger mt-3" onclick="verify()">Verify code</button>
</form>
</div>
<script>var userData = {!! json_encode($attr, JSON_HEX_TAG) !!};</script>
<script src="https://www.gstatic.com/firebasejs/6.0.2/firebase.js"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="{{ asset('assets') }}/js/register-otp.js"></script>
注册-otp.js
function verify() {
var code = $("#verification").val();
coderesult.confirm(code).then(function (result) {
var user = result.user;
console.log(user);
$("#successOtpAuth").text("Auth is successful");
$("#successOtpAuth").show();
$.ajax({
url: '/register-user',
type: 'POST',
dataType: 'json',
data: userdata
success: function(data) {
console.log("success")
}
});
}).catch(function (error) {
$("#error").text(error.message);
$("#error").show();
});
}
我尝试放置其他 JavaScript 代码并使用
console.log()
打印结果;但是,这也会导致该功能无法工作。此外,我在某处读到返回整个 ajax 代码将使其工作,但事实并非如此。无论我添加什么代码,整个功能都将无法工作。
更新:我将 javascript 代码分离到一个单独的 javascript 文件中,现在它可以工作了:)。
我将 javascript 代码分离到一个单独的 javascript 文件中,现在它可以工作了。