我正在使用AngularJs进行开发和应用。一切正常,我在网络服务器上测试它,我把PHP包括为$ http请求。 现在我要创建一个网站来支持这个应用程序,我使用相同的php文件,但使用jquery + ajax进行调用。 为什么对于相同的调用,使用ajax,我返回
HTTP错误405.0 - 不允许的方法
这是我的angula代码:
$scope.doLogin = function() {
$http.post('/app/include/login.asp?username='+$scope.loginData.username+'&password='+$scope.loginData.password, $scope.loginData).success(function(data){
if (data.error == ''){$state.go("app.bentornato");$localstorage.set('name', data.name);$localstorage.set('user_id', data.id);$localstorage.set('position', data.position);$localstorage.set('avatar',data.avatar);$rootScope.avatar = data.avatar} else {$ionicLoading.show({template: "Hai inserito dati errati!", duration: 1000})};
}).error(function(data, status){$scope.errors.push(status);});
这是我的jquery代码:
function exeLogin(){
var nam=$("#USERNAME").val();
var pas=$("#PASSWORD").val();
$.ajax({
type: "GET",
url: "/app/include/login.asp",
data: "username="+nam+"&password="+pas,
success: function(data){alert(data)},
error: alert("Errore connessione!")
});
}
我还在web.config中输入了Access-Control-Allow-Origin值=“”和login.asp中的response.addHeader“Access-Control-Allow-Origin”,“”! 为什么角度工作正常并且没有jquery?!
答案 0 :(得分:0)
$http.post
发出POST
请求时, $.ajax
正在发出GET
请求,这可能是“不允许方法”错误的原因。
与jQuery调用等效的Angular将是$http.get(url)
但是,您不应该使用GET
请求来发送凭据(或将其置于带有POST
请求的网址中),因为它们可能存储在访问日志中。如果您拥有服务器,则应获取有关如何接受POST请求的信息。否则,请询问您的服务器管理员。