Hi ,
Even the atom format does not work. Does this have to do with cross domain calls?
When I inspect the DataServiceProcessingPipelineEventArgse.operationContext.RequestMethod it says OPTIONS.
[System.Data.Services.DataServiceException] = 501: "Not Implemented"
-------------------------------------------------------------------------
Add Author//
function makeCall(){
// Create HTTP request
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Only in browsers with AJAX support");
return false;
}
}
}
// Create result handler
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState == 4){
document.getElementById("result").value = xmlHttp.responseText;
;
}
}
// Build the operation URL
var url = "http://localhost:7203/WcfDataService1.svc/Author";
// Build the body of the atom message
var body = "
xmlns=\"http://www.w3.org/2005/Atom\">"+ document.getElementById("fName").value +""+
document.getElementById("lName").value +"
";// Send the HTTP request
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type", "application/atom+xml; charset=utf-8");
xmlHttp.setRequestHeader("Content-Length", checkLength(body));
xmlHttp.send(body);
}
// ]]>
function checkLength(str)
{
var countMe = str;
var escapedStr = encodeURI(countMe);
if (escapedStr.indexOf("%") != -1)
{
var count = escapedStr.split("%").length - 1 ;
if (count == 0) count++ ; //perverse case; can't happen with real UTF-8
var tmp = escapedStr.length - (count * 3) ;
count = count + tmp;
} else {
count = escapedStr.length ;
}
}
Test WCF Data Services with XMLHttpRequest
FirstName:
LastName:
Result:
Rosy Madhuri