6
我已經使用JAX-RS(Jersey 2.0)實現了一個小的REST API,並且我正在使用AJAX調用API,GET和POST工作正常,但是當我得到調用任何PUT和DELETE方法,我得到的是以下錯誤消息:403使用AJAX進行PUT和DELETE時的狀態(禁止)
無法加載資源:服務器與403(禁止)
這裏狀態迴應是一個的例子DELETE用Java編寫的方法:
@Path("/deleteSomething")
@DELETE
@Consumes("application/json")
public void delete(String json) throws ParseException {
JSONParser parser = new JSONParser();
Object obj = parser.parse(json);
JSONObject object=(JSONObject)obj;
String id = (String) object.get("id");
System.out.println("ID : " + id);
//DO SOMETHING HERE
}
這裏是JavaScript調用使用AJAX:
function deleteSomethingAjax() {
$.ajax({
url: API_URI + "/deleteSomething", //API_URI is the API's uri
contentType : 'application/json',
data: idToJSON(), // this function just returns a JSON obj {"id":"myID"}
type: 'DELETE',
success : function(data, textStatus, jqXHR) {
alert("Fine!");
},
error : function(jqXHR, data, textStatus, errorThrown) {
alert('WOOPS, something wrent wrong...');
}
});
}
任何幫助將非常感激!謝謝!!
相反編輯問題,包括您的解決方案,倒不如簡單地發佈一個答案(和「接受」)。 –
@PaulRichter謝謝你的建議,這就是我剛纔所做的。 – charliebrownie
@AntP感謝您的建議!我剛剛發佈了下面的解決方案並接受了它。 – charliebrownie