Tôi đang phát triển một dự án RESTFul web service
trong đó có một POJO
như sau:Ajax gọi làm việc trên Google Chrome nhưng không phải trên IE 11
@XmlRootElement
public class Input {
//variable declarations
public Input(){
//default constructor
}
//constructor no 1
public Input(String LR, double ECH,double CSH,String APP) {
this.LR = LR;
this.ECH = ECH;
this.CSH = CSH;
this.APP = APP;
}
//constructor no 2
public Input(String LR, double ECH,double CSH,String APP,...) {
this.LR = LR;
this.ECH = ECH;
this.CSH = CSH;
this.APP = APP;
//constructor of all other parameters including these
}
//getters and setters method below.
}
ajax của tôi là nhận được gọi vào nút này:
<button type="submit" onClick='functionname();' class="btn btn-primary" ><span class="glyphicon glyphicon-lock"></span>Function</button>
Lớp học Controller
tôi có như sau:
@Path("/input")
public class InputResponse {
InputService inputservice = new InputService();
@PUT
@Path("/approve")
@Produces(MediaType.APPLICATION_JSON)
public void approveInputRecord(Input obj) throws Exception{
String LR = obj.getLR();
double CSH = obj.getCSH();
double ECH = obj.getECH();
String APP = obj.getAPP();
Input input = new Input(LR,CSH,ECH,APP);
input = inputservice.approveTransaction(input);
}
}
Service
lớp cho cùng là như sau:
public class InputService {
CallableStatement stmt;
Statement commitStmt;
public InputService(){
//database connection
}
public Input approveTransaction(Input input) throws SQLException {
commitStmt = dcc.con.createStatement();
stmt=dcc.con.prepareCall("BEGIN APPROVRTRANSACTION(?,?,?,?); END;");
stmt.setString(1, input.getLR());
stmt.setDouble(2, input.getECH());
stmt.setDouble(3, input.getCSH());
stmt.setString(4, input.getAPP());
stmt.execute();
commitStmt.executeQuery("COMMIT");
return input;
}
}
Bên trong tôi JAVA Script
ajax
cuộc gọi của tôi để ở trên là:
var obj = {
LogReference : logreference,
EuroclearHoldings:euroclearholdings,
ClearstreamHoldings:clearstreamholdings,
Approver : loginXPID
}
var jsonobj = JSON.stringify(obj);
$.ajax({
url:'./webapi/input/approve',
type: 'PUT',
data:jsonobj,
cache:false,
contentType: 'application/json',
dataType:'json',
success:function(data)
{
alert('success');
},
error:function(xhr,textstatus,errorthrown){
alert(xhr.responseText);
alert(textstatus);
alert(errorthrown);
}
},'json');
Có điều này là mã của tôi ứng dụng của tôi đang làm việc tốt trên Google Chrome
nhưng đôi khi làm việc và đôi khi không phải trên Internet Explorer 11
. Đây là hành vi kỳ lạ. Và điều khác mà tôi không thể nhận được ngay cả khi nó hoạt động trên Chrome
cuộc gọi ajax
luôn bị lỗi alerts
. Ai có thể vui lòng giải thích tại sao nó như vậy? Và làm thế nào để giải quyết nó? Bất kỳ giúp đỡ nhiều đánh giá cao. Cập nhật
Đây là đầu ra trên tab network --> Response
trên chrome khi lỗi được ném. Nhưng mặc dù tôi vẫn nhận được đầu ra.
Nhiều Cảm ơn
Bạn có thể thử sử dụng các yêu cầu 'POST' thay cho' PUT'. –
@MadushanPerera Nếu tôi sử dụng 'POST' hoặc' PUT', nó sẽ đưa ra cùng một vấn đề. Nhưng đối với 'GET', nó không hoạt động trên một trong hai trình duyệt và đưa ra lỗi 'không thay thế khả thi ở đầu vào' '' –
tpsaitwal
bạn có thể vui lòng cung cấp phản hồi của máy chủ từ tab 'Mạng' của trình duyệt Chrome hay không. – MeetJoeBlack