HTTP 406 Ralat apabila menggunakan sudut $http.get berbanding SharePoint rehat hujung Mata

Mengemas kini: MARC AD ndersson menunjukkan ini sebahagian besar maklumat: http://Blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-api-Released/. Sebab itulah banyak :).

Ia mungkin tajuk posting blog paling teruk pernah! Anyhoo.

Saya biasanya lakukan semua prototaip saya terhadap contoh O365. Saya mempunyai contoh diri saya supaya saya tidak perlu bimbang tentang mempengaruhi orang lain. Seperti yang diperuntukkan untuk – ingat apabila kita memanggil dibawa sekitar Mesin maya pada komputer riba kami dengan Lumut – SQL Server, IIS, penentu vs Hyper-V. VMWare? Anyhoo...

Saya telah membangunkan sebuah aplikasi yang menggunakan sudut dalam persekitaran yang tidak, antara lain, ini:

$http.get(serverUrl)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

getLinksResponse.value.forEach(fungsi(theResult) {

// dan sebagainya dan jadi buih

Ini adalah bekerja saja dalam dua berbeza SharePoint dalam talian persekitaran. Walau bagaimanapun, Bilakah rakan sekerja saya dipindahkan ia ke contoh Cloudshare, dia sering terlibat dengan HTTP 406 kesilapan (yang adalah kali pertama saya pernah mendapat satu itu, Jadi... yay, saya rasa). Kami melakukan sedikit kajian dan menyedari bahawa pengepala "Menerima" adalah dari. SharePoint dalam talian adalah sempurna gembira dengan:

Menerima: Permohonan/json

Tetapi contoh cloudshare (yang dihidupkan SP prem, dihoskan dalam pelayan maya) mahukan klasik yang "odata = banyak cakap" ditambah dalam serta:

Menerima: Permohonan/json;odata = banyak cakap

Untuk menetapkan bahawa, kami menambah pengepala Justeru:

tatarajah VAR = {header: {
'Menerima': ' permohonan/json;odata = banyak cakap '
}
};

$http.get(serverUrl,config)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

getLinksResponse.value.forEach(fungsi(theResult) {

// dan sebagainya dan jadi buih

Yang dapat menghilangkan dalam 406, tetapi ia juga mengubah format maklum balas. Itu lebih banyak... banyak cakap. (Haha!) Lebih banyak perubahan yang diperlukan dan inilah keputusan akhir:

tatarajah VAR = {header: {
'Menerima': ' permohonan/json;odata = banyak cakap '
}
};

$http.get(serverUrl,config)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

getLinksResponse.d.results.forEach(fungsi(theResult) {

// dan sebagainya dan jadi buih

Ini hanya bertukar menjadi sebuah 30 minit masalah untuk kita, Jadi kita lucked Keluar. Mudah-mudahan orang mendapati ini berguna.

</akhir>

2 pemikiran untuk "HTTP 406 Ralat apabila menggunakan sudut $http.get berbanding SharePoint rehat hujung Mata

Tinggalkan Jawapan

alamat e-mel anda tidak akan diterbitkan. Ruangan yang diperlukan ditanda *