Kontrol dışarı Mike Flasko en session MIX11 de Sırasında WCF Veri Hizmetleri, JSONP ve jQuery
http://blogs.microsoft.co.il/blogs/gilf/archive/2011/04/24/combining-wcf-data-services-jsonp-and-jquery.aspx
birleştiren ilgili Gil Fink blog, o bir JSONP farkında WCF Veri Hizmeti nasıl oluşturulacağını gösterdi MSDN kod galerisinde download için kullanılabilen bir JSONPSupportBehavior özniteliği ile (ve Microsoft.Data.Services.Extensions ad alanının bir parçası olması gerekiyordu). Bu gönderide, WCF Veri Hizmeti için bir JSONP etki alanı çağrısı yapmak için özniteliği ve jQuery'yi kullanan basit bir örnek göstereceğim.
İki farklı ASP.NET web uygulamaları oluşturarak başladı Ortamı
İlk ayarlama. İlk uygulama çağrı sayfasını ve ikincisi WCF Veri Hizmetini içerir. Ardından, ikinci web uygulamasında bir Varlık Çerçevesi modeli ve bu modelden WCF Veri Hizmeti oluşturdum. Daha önce verdiğim link ürününde bulunan JSONPSupportBehavior.cs sınıfını da ekledim. Sınıf, WCF IDispatchMessageInspector arabirimini uygulayan JSONPSupportBehavior uygulamasının uygulanmasını içerir. Ayrıca kodumda kullandığım JSONPSupportBehaviorAttribute içerir. Kod basittir ve benzer: Ben JSONP çağrı örnek yapacak bir web formu oluşturduk ikinci bir web uygulamasında JSONP Çağrısı
yapma
[JSONPSupportBehavior]
public class SchoolDataService : DataService<SchoolEntities>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
}
. İşte çağrı yapan kod şudur: jQuery kütüphanesini almak üzere Microsoft CDN kullanmak İlk başta :
<!DOCTYPE html>
<html>
<head runat="server">
<title>JSONP Call</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<output id="result">
</output>
</form>
<script type="text/javascript">
$.getJSON('http://localhost:23330/SchoolDataService.svc/Courses?$format=json&$callback=?',
function (response) {
$.each(response.d, function (index, value) {
var div = document.createElement('div');
div.innerHTML = value.Title;
$('#result').append(div);
})
});
</script>
</body>
</html>
web formu kodu keşfetmek sağlar. Ardından, aramanın çıktısını eklemek için bir HTML5 çıktı öğesi oluşturdum. Ana komutta, jQuery’nin WCF Veri Hizmetini çağıran getJSON işlevini kullanıyorum. WCF Veri Hizmetinden bir JSON yanıtı alabilmek için $ format = json sorgu dizesi parametresini kullanmanız gerektiğini unutmayın. Verileri aldıktan sonra, yinelenen her bir ders başlığı için bir div öğesi oluşturuyorum. Bu getJSON işlev çağrısında kablolu hale getirdiğim başarı işlevinde yapılır.
Özeti
posta ben jQuery kullanarak bir WCF Veri Hizmetleri bir JSONP arama yapmak basit bir örnek verilir: Burada kod çalıştıran çıkışıdır. Bu tür bir çözüm, müşteri alanınızdan diğer etki alanlarında bulunan WCF Veri Hizmetlerini kullanmanıza yardımcı olabilir. Bir takip mesajında aynı örneği yeni datajs kütüphanesini kullanarak göstereceğim
Bunu PUT yerine PST göstermek için güncellemek ister misiniz? POST genel olarak çapraz site betiklerinden kaçınmanın en güvenli yolu olarak kabul edilir. – LamonteCristo