Wcf Service Method
[OperationContract][WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json,
RequestFormat= WebMessageFormat.Json)]
PageDTO PageByUrl(String url,String language); --> PageDTO PageByUrl(String title,String language);
-----------------------------------------------------------------------
Requested Url:
http://localhost:2222/tr-TR/test-page-1-----------------------------------------------------------------------
Jquery Ajax Call
<script type="text/javascript">
$(document).ready(function () {
data = window.location.pathname.split("/");
urlStr = data[data.length -1];
languateStr = data[data.length - 2];
var data = new Object();
data.url = urlStr; ---> data.title=urlStr;
data.language = languateStr;
//var xxx = $.toJSON(data);
//result: {"url":" test-page-1","language":"tr-TR"}
caller_dynamic(data);
});
var menuUrl = "http://localhost:9000/PublicService.svc/PageByUrl";
function caller_dynamic(mydata) {
$.support.cors = true;
$.ajax({
type: "POST",
url: menuUrl,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: $.toJSON(mydata),
success: function (data) {
$("#content").html(data.Content);
},
error: function (xhr) {
alert(xhr.responseText);
}
});
}
< /script>
---------------------------------------------------------------------
public PageDTO PageByUrl(String url, String language) --> (String title, String language)
{
try
{
var publicBS = unityContainer.Resolve();
var page = publicBS.PageByUrl(title);
return page;
}
catch (Exception ex)
{
throw DynFaultException.Instance.CreateFault(ex);
}
}
Conclusion
if url is null, do NOT panic. just change the name of the argument name url to title.
No comments:
Post a Comment