我使用apache tomcat作爲Web服務器。 我已經在tomcat上部署了webservices。 如果我通過jquery ajax從本地文件系統發佈請求到tomcat webservice作爲響應,我得到了403錯誤。獲取NetworkError的Ajax jquery調用:403響應中的禁止錯誤
如果我從同一個容器運行相同的腳本,我從web服務獲得有效的響應。
我正在使用以下代碼。
function callservice()
{
jQuery.support.cors = true;
var mobNo = document.getElementById('mobileNo').value;
var acctNo = document.getElementById('accountNo').value;
//var id = document.getElementById('id').value;
var custNo = document.getElementById('customerId').value;
//var mobNo = document.getElementById('txt_name').value;
//alert("mobileNo" + mobNo+"accountNo" + acctNo+"customerId "+custNo);
var url = "http://localhost/mobile-services/rest/user/";
var dataVal = {};
dataVal["mobileNo"] = mobNo;
dataVal["accountNo"] = acctNo;
dataVal["customerId"] = custNo;
var forminput = JSON.stringify(dataVal);
$.ajax({
url: url,
type: "POST",
data:forminput,
processdata: true,
contentType: "application/json;",
beforeSend: function() { },
headers :
{
"Content-Type" : "application/json",
"Accept" : "application/json"
},
success: function (data)
{
if (data.authenticated==true)
{
window.location.replace("http://localhost:8080/mobile-services/selected_services.jsp?userId="+data.id);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
try
{
alert(JSON.stringify(XMLHttpRequest) + "\n" + textStatus + "\n" + errorThrown);
}
catch (ex) { alert("Exception occured.. "); }
finally { }
}
});
}
請建議。
你有沒有部署apache的tomcat ontop或者它是獨立的?我假設你通過Apache將你的請求路由到tomcat,因爲你指定了你的url爲http:// localhost –
你可以嘗試在你的$ .ajax請求中添加dataType:「jsonp」, jsonp:「callbackname」 ? –
其獨立安裝。我試着用數據類型作爲jsonp。我正在獲取方法不允許的異常。 –