JQuery
ajax function is used to call the server resources. While making the ajax
request probability of getting errors is
more. In my scenario i am calling wcf REST service to get live cricket scores
for multiple matches by sending matchId .If the call is success some how we can
know the matchId ,but if error occurs there is no way to find the matchId of
that request.To solve this issue we have to maintain state between multiple
requests.
Using
jquery ajax context property and object oriented concepts we can maintain state between multiple ajax requests.
In
the below example i am having the wcf REST service which gives the live cricket
scores,and javascript client which makes the ajax request.
//Call the wcf service.
function
CallService(matchId) {
//MatchId.
this.matchId
= matchId;
//Make
the ajax request.
this.getScore
= function () {
//Ajax
request.
$.ajax({
//Context
object to maintain state.
context: this,
//Url
of wcf service.
url: 'http://localhost:6247/Service.svc/GetScore?matchId='
+ this.matchId.toString(),
//Method
type.
type: 'GET',
//Asynchornous
call.
async: true,
//Success
event.
success: function (res) {
//Disply score.
debugger;
},
//Error
event.
error: function (err) {
//Get score again.
this.getScore();
}
});
}
}
//Create
call service object.
var obj
= new CallService("M1");
//Call
getscore function.
obj.getScore();
Here
I didn’t give the code for wcf REST service which is out of scope,but it
contains the simple GetScore function which takes the matchId as input and
returns the live cricket score of that matchId.
Let me know, if you have any feedback. Mail me for source code.
Enjoy reading my articles…
sekhartechblog@gmail.com
No comments:
Post a Comment