Arasındaki fark nedir
request.ContentType = "application / json; karakter kümesi = utf-8";
ve
webRequest.ContentType = "application / x-www-form-urlencoded";
Arasındaki fark nedir
request.ContentType = "application / json; karakter kümesi = utf-8";
ve
webRequest.ContentType = "application / x-www-form-urlencoded";
Yanıtlar:
İlk durum, web sunucusuna aşağıdaki gibi JSON verileri gönderdiğinizi bildirmektir:
{ Name : 'John Smith', Age: 23}
İkinci seçenek, web sunucusuna URL'deki parametreleri aşağıdaki gibi kodlayacağınızı söylemektir:
Name=John+Smith&Age=23
application/x-www-form-urlencoded
sunucuyu karıştırır (benim durumumda Zehir kullanarak Elixir) ve nesnenin uygunsuz bir şekilde ayrıştırılmasına neden olur (bir şekilde iç içe diziyi dönüştürdü) liste yerine haritaya nesnelerin yerleştirilmesi). application/json
Bu durumda kullanmak doğru seçim olmalıdır.
webRequest.ContentType = "application / x-www-form-urlencoded";
Nerede gelmez application / x-www-form-urlencoded adı 'ten geliyor?
HTTP GET isteği gönderirseniz , sorgu parametrelerini aşağıdaki gibi kullanabilirsiniz:
http://example.com/path/to/page
? Name = gelincik & color = mor
Alanların içeriği bir sorgu dizesi olarak kodlanır. application/x-www-form-
urlencoded
Bireyin adı geçen url sorgu parametresinden geliyor ama sorgu parametreleri nerede istek gövdesinin yerine url içindedir.
Tüm form verileri uzun bir sorgu dizesi olarak gönderilir. Sorgu dizesi, & karakteri ile ayrılmış ad- değer çiftleri içerir
örneğin, alan1 = değer1 ve alan2 = değer2
Basit adı verilen basit bir istek olabilir - ön kontrol kontrolünü tetiklemeyin
Basit istek bazı özelliklere sahip olmalıdır. Daha fazla bilgi için buraya bakabilirsiniz . Bunlardan biri, basit istekler için İçerik Türü üstbilgisi için yalnızca üç değere izin verilmesidir
3. Çoğunlukla düz param ağaçları için, uygulama / x-www-form-urlencoded denenir ve test edilir.
request.ContentType = "application / json; karakter kümesi = utf-8";
AXIOS ve superagent , varsayılan olarak JSON organları ile daha popüler NPM HTTP kütüphaneler, işin ikisi.
{ "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
Şimdi, istek basit bir istek değilse , tarayıcı , orijinal isteği göndermenin güvenli olup olmadığını kontrol etmek için OPTIONS yöntemiyle orijinalinden önce otomatik olarak bir HTTP isteği gönderir . Tamamsa, o zaman gerçek istek gönderin. Daha fazla bilgi için buraya bakabilirsiniz .
x-www-form-urlencoded
Oylama gibi AJAX istekleri için stackoverflow ve Twitter kullanımı gibi siteleri görüyorumJSON
. Ben simetrik bir istek / yanıt çifti yani JSON yani daha iyi olduğunu düşünürdüm.