1

Ben postayı web hizmeti için bir dize çalışıyorum ama bu hata (Google Chrome Uzantısı Projesi) alıyorum:Jquery AJAX Mesaj: 500 (Dahili Sunucu Hatası)?

jquery-2.1.1.min.js: 4 POST http://localhost:49242/Service.asmx/test 500 (Dahili Sunucu Hatası)

var data = {}; 
data.param1 = words[0]; 

$.ajax({ 
    data: JSON.stringify({ 'data': data.param1 }), 
    dataType: 'application/json', 
    url: 'http://localhost:49242/Service.asmx/test', 
    type: 'POST', 
    contentType: 'application/json; charset=utf-8', 
    success: function (result) { 
     alert(result); 
    }, 
    failure: function (errMsg) { 
     alert(errMsg); 
    } 
}); 

hizmetim:

İşte

benim ajax kodu

Bu sorun üzerinde yaklaşık 3 gün çalışıyorum. Bana yardımcı olabilir misiniz ?

Bu arada, bir sorum var. Ben json değişkeni ajax ile hizmete gönderiyorum (gördüğünüz gibi), ancak hizmet xml değerini döndürüyor. Bir sorun mu var veya [System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)] bu kod blok çözme problemi var mı?

+0

Veri yazın 'json' yazın – uzaif

+0

Teşekkürler ama işe yaramadı. – user5535577

+0

URL'nizin hangi verileri yayınladığınızı kontrol ettiniz mi? – uzaif

cevap

2

Hatanız, veri parametrenizden geliyor. { 'data': data.param1 } yerine data nesneyi stringify:

var data = {}; 
data.param1 = words[0]; 

$.ajax({ 
    data: JSON.stringify(data), 
    dataType: 'application/json', 
    url: 'http://localhost:49242/Service.asmx/test', 
    type: 'POST', 
    contentType: 'application/json; charset=utf-8', 
    success: function (result) { 
     alert(result); 
    }, 
    failure: function (errMsg) { 
     alert(errMsg); 
    } 
}); 

Kişisel stringifyed veri {"param1":"Words"} neden olacaktır, sonra servis param1 parametre bağlama gerekir.

+0

Çok çalıştığınız için teşekkür ederim. Ama servis "blah" dizesi gönderdim ama hizmet [object Object] döndü. Niye ya? – user5535577

+0

Hoşgeldiniz. Wich tarayıcısını kullandın mı? –

+0

Chrome ve ben sorunla ilgileniriz. Bu işe yaradı: var data = response.hasOwnProperty ("d")? response.d: yanıt; uyarı (veri); – user5535577

0

AJAX yanıtında bu tür bir hatayla karşılaşıyordum. Bu sorunun arkasında çok fazla zaman harcıyordum ve sonunda yakaladım.

500 iç hata atar, çünkü AJAX yanıtı sunucudan çok içeriğe sahiptir, bu nedenle yürütme zaman aşımı verir.

Bu yüzden aşağıdaki satırı ekledim ve iyi çalışıyor.

Page.Server.ScriptTimeout = 300; 
+0

Bu satırı nereye eklediniz? [@Belle] (https://stackoverflow.com/users/8019185/belle) bir sorum vardı ([yayınınızı bir yanıt olarak düzenlemeye çalıştık] (https://stackoverflow.com/review/suggested-edits/17723040)) –

+0

Ajax işlevini "emailapi.aspx" sayfasının URL'si ile arıyorum. Bu durumda, bu hatayı alıyorum, ancak ** Page.Server.ScriptTimeout = 300; ** emailapi.aspx dosyasına eklediğimde. iyi çalışıyor. – Jitendra

İlgili konular