पर मैं एक RESTFul web service
परियोजना जो नीचे के रूप में एक POJO
है विकासशील हूँ:अजाक्स कॉल गूगल क्रोम पर काम कर रहा है, लेकिन नहीं 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 इस बटन पर बुलाया जा रहा है:
<button type="submit" onClick='functionname();' class="btn btn-primary" ><span class="glyphicon glyphicon-lock"></span>Function</button>
Controller
वर्ग मेरे पास है इस प्रकार है:
@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);
}
}
उसी के लिएक्लास के रूप में नीचे है:
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;
}
}
अंदर मेरी JAVA Script
ऊपर करने के लिए अपने ajax
कॉल है:
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');
इस के बाद मेरे कोड के रूप में अपने आवेदन Google Chrome
पर ठीक काम कर रहा है, लेकिन कभी कभी काम करता है और कभी कभी Internet Explorer 11
पर नहीं। यह अजीब व्यवहार है। और दूसरी चीज जिसे मैं प्राप्त करने में असमर्थ हूं, भले ही यह Chrome
पर ajax
पर काम करता है, हमेशा त्रुटि में alerts
प्राप्त करें। क्या कोई बता सकता है कि ऐसा क्यों है? और मैं इसे कैसे हल करूं? किसी भी मदद की बहुत सराहना की। अद्यतन
यहाँ क्रोम पर network --> Response
टैब पर उत्पादन जब त्रुटि फेंक दिया जाता है। लेकिन इसके बावजूद मुझे अभी भी आउटपुट मिलता है।
कई धन्यवाद
आप 'PUT' के बजाय' POST' अनुरोधों का उपयोग करने का प्रयास कर सकते हैं। –
@MadushanPerera यदि मैं 'POST' या 'PUT' का उपयोग करता हूं तो यह वही समस्या दे रहा है। लेकिन 'जीईटी' के लिए यह किसी भी ब्राउज़र पर काम नहीं कर रहा है और इनपुट '' ' –
tpsaitwal
त्रुटि में कोई व्यवहार्य विकल्प नहीं दे रहा है, तो आप क्रोम ब्राउज़र के 'नेटवर्क' टैब से सर्वर responce प्रदान कर सकते हैं। – MeetJoeBlack