時出於某種原因不是函數,當我運行npm start並且我點擊瀏覽器時,出現此錯誤的堆棧跟蹤。
類型錯誤:$就不是一個函數
at getLocationFromIp (G:\Github\Expressjs\nodetest1\routes\index.js:13:7)
at G:\Github\Expressjs\nodetest1\routes\index.js:24:14
會有人能告訴我爲什麼嗎?這是我的代碼。謝謝!
var express = require('express');
var router = express.Router();
var externalip = require('external-ip');
var $ = require('jquery');
getLocationFromIp = function() {
$.ajax({
url:"freegeoip.net/json/",
type: "GET",
data: null,
dataType: "json",
success: function(){console.log("success!")}
});
}
router.get('/', function(req, res) {
var ip = getLocationFromIp();
res.render('index', { 'ip' : "hi"});
});
試着在$(document).ready(function(){})函數中添加代碼 – Dale
@Dale - 什麼'document'? – Quentin
問題可能在於通過require函數同步加載Jquery。有沒有一種方法可以在JQuery腳本加載後觸發getLocationFromIp函數?這有可能解決你的問題。 – Elvanos