İşte bazı javascript var:Bir asp.net 3.5 webmethod çağıran jquery's post() yöntemi midir?
Ben beklenir ve uyarılar dize default.aspxyılında [WebMethod] denilen GetDate dönen Ama kullandığınızda yukarıdaki yöntem çalışır
$.ajax({
type: "POST",
url: "default.aspx/GetDate",
contentType: "application/json; charset=utf-8",
data: {},
dataType: "json",
success: function(result) {
alert(result.d);
}
});
:
$.post(
"default.aspx/GetDate",
{},
function(result) {
alert(result.d);
},
"json"
);
Bu başarı yöntemindeki uyarı asla yanmaz.
Ben POST temelde çalıştı görebilirsiniz kundakçı olarak- döndürür 200 OK
Ama $ .ajax kullandığınızda bu durumda tepki JSON döndü tamamı yerine default.aspx sayfasının HTML() yöntem.
DÜZENLEME:
Firebugda gösterilen yanıt ve istek başlıkları aynı DEĞİLDİR. $ .ajax() ile
...
$ .post() ileREQUEST:
Accept application/json, text/javascript, */*; q=0.01
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language en-gb,en;q=0.5
Connection keep-alive
Content-Type application/json; charset=utf-8
Cookie (removed)
Host (removed)
Referer (removed)
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
X-Requested-With XMLHttpRequest
RESPONSE:
Cache-Control private, max-age=0
Content-Length 27
Content-Type application/json; charset=utf-8
Date Wed, 11 Jan 2012 12:36:56 GMT
Server Microsoft-IIS/7.5
X-Powered-By ASP.NET
...
REQUEST:
Accept application/json, text/javascript, */*; q=0.01
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding gzip, deflate
Accept-Language en-gb,en;q=0.5
Connection keep-alive
Cookie (removed)
Host (removed)
Referer (removed)
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
X-Requested-With XMLHttpRequest
RESPONSE:
Cache-Control private
Content-Length 13815
Content-Type text/html; charset=utf-8
Date Wed, 11 Jan 2012 12:36:53 GMT
Server Microsoft-IIS/7.5
X-AspNet-Version 2.0.50727
X-Powered-By ASP.NET
Bunun için $ .post() yöntemini kullanabilir miyim, veya $ .ajax() yöntemini kullanmalı mıyım?
Siz * emin * istek başlıkları aynı mıdır? İçerik Türü 'başlığı değişmiyor mu? – lonesomeday
Kesinlikle bir web servisini çağırmanız mı gerekiyor? Ben tam anlamıyla bunu sadece $ .get kullanarak ve saf HTML (başlıkları olmadan) döndürerek yaptım ve ihtiyaçları için mükemmel çalıştı. Eğer bu yardımcı olacaksa bana haber verin ve bazı kodları yayınlayacağım. – Archer
Onları okuduğum kadar çok kez, şüphe duyduğunuz şey doğru - "Content-Type: application/json; charset = utf-8" gerçekten $ .ajax() çağrısından İstek Başlıkları'nda yer alıyor. – mikev2