Javascript 从html调用函数并从angularjs获取结果
在调用HTML文件中的函数后,我一直无法恢复值。我做了一些研究,尝试了一些事情,但没有成功。请参阅以下代码: HTML:Javascript 从html调用函数并从angularjs获取结果,javascript,html,angularjs,Javascript,Html,Angularjs,在调用HTML文件中的函数后,我一直无法恢复值。我做了一些研究,尝试了一些事情,但没有成功。请参阅以下代码: HTML: <div class="form-group"> <div class="col-sm-9"><label for="IPAddr">IP Address</label><input ng-model="IPAddr" id="IPAddr" name="IPAddr" ng-blur="IPAvail=vali
<div class="form-group">
<div class="col-sm-9"><label for="IPAddr">IP Address</label><input ng-model="IPAddr" id="IPAddr" name="IPAddr" ng-blur="IPAvail=validateIP()"
type="text" class="form-control">{{IPAvail}}</div>
</div>
$scope.validateIP = function(IPAvail) {
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
var ipVar = $.param({ip: $scope.ipadd});
$http({
url: 'https://test.com/flask_server/findIP',
method: "POST",
data: ipVar
})
.then(function(response) {
$scope.result = response.data;
ip = response.data;
if (ip.indexOf("10.10.10.1") >=0) {
alert("Matches with IP")
IPAvail = "Yes"
return IPAvail
} else {
alert("Does not match with IP")
}
IPAvail = "No"
return IPAvail
});
};
我简化了代码,使其易于阅读,但基本上,一切都正常工作,但我唯一遇到的问题是将IPAvail变量返回到HTML,以便可以在此处使用:
type="text" class="form-control">{{IPAvail}}</div>
type=“text”class=“表单控制”>{{{IPAvail}
谢谢
Damon将
$scope.IPAvail
设置为所需值,而不是返回IPAvail
。您应该遵从ng change=“validateIP()”
,而不是使用onblur
使用
ng change
可以让AngularJS了解效果。否则你可能会遇到安格拉斯不知道的麻烦。AngularJS最好知道。不要返回IPAvail
,而是将$scope.IPAvail
设置为所需的值。与其使用onblur
,您应该遵从实现该技巧的ng change=“validateIP()”
。。谢谢我知道它也适用于ng blur,仅供参考,你能解释一下为什么我应该使用ng change而不是blur吗?我在回答中解释过。如果您需要进一步的澄清,请告诉我。请接受我的回答。