我正在尝试使用带有 grunt 构建工具的 npm yoeman 包管理器使用 oracle jet 登录页面。服务器抛出以下错误响应:
ossoprovider.endpoint.TokenEndpoint:处理错误:HttpRequestMethodNotSupportedException,不支持请求方法“GET”。
但我使用 Ajax 方法作为 POST。
define(['ojs/ojcore','knockout', 'ojs/ojinputtext', 'ojs/ojbutton',
'ojs/ojknockout-validation', 'ojs/ojmodel'
], function (oj, ko) {
/**
* The view model for the main content view template
*/
function logintestContentViewModel() {
var self = this;
self.tracker = ko.observable();
self.username = ko.observable("");
self.password = ko.observable("");
self.clickedButton = ko.observable();
self.buttonClick = function(data, event)
{
//alert("call"+JSON.stringify(data));
var trackerObj = ko.utils.unwrapObservable(self.tracker);
alert("submittedValue====="+self.username());
alert("password====="+self.password());
//self.submittedValue();
//change this to a valid ajax call.
alert("ajax call initiated");
self.url = "http://192.168.0.100:8080/oauth/token?grant_type=password";
self.url +="&username=";
self.url += self.username();
self.url +="&password=";
self.url += self.password();
//this.url += "client_id=my-trusted-client&client_secret=clientpassword";
$.ajax({
url: self.url,
type: "POST",
grant_type : "password",
data: {client_id : "my-trusted-client", client_secret: "clientpassword1"},
dataType: 'json',
success: function(res) {
alert(res);
this.submittedValue(res.token);
},
failure: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
this.submittedValue("Login Failed");
}
})
//this.submittedValue(this.url)
return true;
/*
$.ajax({
type: "POST",
dataType: "jsonp",
crossDomain:true,
data: "grant_type=password&username="+self.username()+"&password="+self.password()+"",
xhrFields: {
withCredentials: true
},
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Basic bXktdHJ1c3RlZC1jbGllbnQ6Y2xpZW50cGFzc3dvcmQ=');
},
url: 'http://192.168.0.100:8080/oauth/token',
success: function(data) {
alert(data);
}
});*/
};
self.routePage = function(data,event)
{
self.clickedButton(event.currentTarget.id);
return true;
};
self.onClick = function()
{
self.buttonClick();
self.routePage();
}
self.shouldDisableCreate = function()
{
var trackerObj = ko.utils.unwrapObservable(self.tracker),
hasInvalidComponents = trackerObj ? trackerObj["invalidShown"] : false;
return hasInvalidComponents;
};
self._showComponentValidationErrors = function (trackerObj)
{
trackerObj.showMessages();
if (trackerObj.focusOnFirstInvalid())
return false;
};
}
return logintestContentViewModel;