angular的service是這樣定義的(定義loginModule在另一個(gè)文件裡,所以這裡只是引用,沒(méi)有寫第二個(gè)參數(shù)):
angular.module('loginModule').factory('askSecCode',['$resource',
function askSecCodeFactory($resource){
return $resource('http://192.168.31.108:8080/retailer/user/auth',{},{crossOrigin:'Anonymous',userName:'QD100',userPass:'1234',checkCode:'1234'});
}
]);
在controller裡面是這樣使用service的:
$scope.loginJump = function(info){
askSecCode.save(
{
userName:info.staffID,
userPass:info.password,
checkCode:info.security
},
function(){
console.log('post sent');
}
);
//TODO: ??[?????????????????????][????]
//TODO: ????????location.assign();
};
結(jié)果發(fā)出的請(qǐng)求如下:
而且請(qǐng)求結(jié)果是報(bào)錯(cuò)
我用jquery在同一位置請(qǐng)求是成功的,請(qǐng)求詳情如下,和angular的請(qǐng)求確實(shí)不一樣
求助:我如何讓angularjs發(fā)出的請(qǐng)求,像jquery一樣能被後端當(dāng)作CORS跨域請(qǐng)求接受?
擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
你的問(wèn)題是由於header裡的content-type不一致。在jquery裡預(yù)設(shè)是application/x-www-form-urlencoded,而在angular裡預(yù)設(shè)是application/json。你要想angular也跟jquery發(fā)出的請(qǐng)求一樣,就把resources的header改一下吧
後端設(shè)定
header('Access-Control-Allow-Origin:http://192.168.31.172:8000');