المحفوظات الشهرية: كانون الثاني/يناير 2015

HTTP 406 خطأ عند استخدام $http.get الزاوي ضد SharePoint بقية نقاط النهاية

التحديث: وأشار مارك AD نديرسون هذا قطعة كبيرة من المعلومات: http://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. وهذا ما يفسر الكثير :).

قد يكون عنوان بلوق وظيفة أسوأ من أي وقت مضى! Anyhoo.

عادة القيام به كل من بلدي النماذج ضد مثيل O365. لدى بلدي مثيل شخصية حتى أن ليس لدى لأن تشعر بالقلق إزاء التأثير على أي شخص آخر. بوصفها جانبا--تذكر عندما ندعو يجري حول الأجهزة الظاهرية على كمبيوتر محمول لدينا مع موس – SQL Server, IIS, البت مقابل هايبر-V. أم وير? Anyhoo...

وكان البلدان المتقدمة النمو إلى تطبيق استخدام الزاوي في هذه البيئة أن يفعل, أمور أخرى, وهذا:

$http.get(سيرفيرورل)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

getLinksResponse.value.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

وهذا كان يعمل على ما يرام في SharePoint على الإنترنت بيئات مختلفة. ومع ذلك, عندما استدار زميلي إلى مثيل كلودشاري, أنه تم الحصول HTTP 406 خطأ (كانت المرة الأولى حصلت من أي وقت مضى أن أحد, حيث.. ياي, أخمن). ونحن لم قليلاً من البحوث، ولاحظت أن رأس "قبول" قبالة. وكان سعيداً تماما مع SharePoint على الإنترنت:

قبول: تطبيق/json

لكن مثيل كلودشاري (وهو س في بريم, واستضافت في ملقم ظاهري) أراد الكلاسيكية "odata = مطول" وأضاف كذلك في:

قبول: تطبيق/json;odata = مطول

لحل هذه المشكلة, وأضاف نحن الرأس على هذا النحو:

التكوين فأر = {رؤوس: {
'قبول': ' التطبيق/json;odata = مطول '
}
};

$http.get(سيرفيرورل,التهيئة)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

getLinksResponse.value.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

التي حصلت على التخلص من 406, بل أنه أيضا تغيير تنسيق الاستجابة. أنه كان أكثر.. مطول. (هاها!) تم إدخال مزيد من التغييرات المطلوبة، وهنا هو النتيجة النهائية:

التكوين فأر = {رؤوس: {
'قبول': ' التطبيق/json;odata = مطول '
}
};

$http.get(سيرفيرورل,التهيئة)
.النجاح(الدالة(البيانات, مركز, رؤوس, التهيئة) {

var جيتلينكسريسبونسي = البيانات;

جيتلينكسريسبونسي.d.results.forEach(الدالة(ثيريسولت) {

// وهكذا، وحتى زبد

وهذا فقط تحولت 30 مشكلة دقيقة بالنسبة لنا, لذا نحن حالفه. نأمل شخص ما يجد هذا مفيدة.

</نهاية>

مقالات إرشادية: تمكين أجزاء الزاوي SharePoint ويب متعددة في نفس الصفحة

هذا بلوق وظيفة يصف كيف يمكن أن يكون لديك متعددة Angular.js على أساس أجزاء ويب في SharePoint (المشار إليه بواسطة جزء ويب محرر المحتوى) في نفس الصفحة. أنني أدعو جزء ويب محرر المحتوى (سوب) أن مراجع جافا سكريبت التي تم إنشاؤها باستخدام إطار Angular.js "جزء ويب زاوي."

عملية الزاوي bootstrap السوبر سهلة ومجرد عن كل مثال تجد على الإنترنت يذهب شيء من هذا القبيل:

<إتش تي أم ال نغ-التطبيق = 'myApp'>

<بلاه/><بلاه/><بلاه/>

</html>

وهذا ينهار, ومع ذلك, إذا كنت تريد تمكين متعددة سوب تمثل أجزاء ويب الزاوي متعددة في نفس الصفحة. الزاوي وسوف فقط تلقائياً bootstrap ضد التوجيه نغ-التطبيق الأول يرى – على الأقل اعتبارا من الإصدار الزاوي 1.3.6. الحل بسيط جداً – bootstrap يدوياً التعليمات البرمجية الخاصة بك بدلاً من ذلك. ما ورد أعلاه الآن يتحول إلى شيء من هذا القبيل:

<الهيئة>
رابعا معرف =”بوتسترافيري” الحرس الوطني-تحكم =”ميكونترولير ثيكونترولير”>
<بلاه/><بلاه/><بلاه/>
</div>
</الهيئة>

<برنامج نصي src =”//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js”></البرنامج النصي>

<البرنامج النصي>
angular.bootstrap(angular.element(document.getElementById(“بوتسترافيري”)),['myApp']);
</البرنامج النصي>

أساسا, بدلاً من استخدام الحرس الوطني-التطبيق على العنصر للقيام بالبأس الحذاء الخاص بك, يمكنك صفعة معرف على هذا العنصر. ثم, استخدم bootstrap() الأسلوب على الزاوي العملية نفسها السيطرة ألباس الحذاء في وقت التشغيل. لقد اختبرت هذه مع ثلاثة أجزاء ويب الزاوي مختلفة على نفس الصفحة ويعمل السحر.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin