asp.net mvc Web サービスから json を受信しようとしています。ASP.NET:
public JsonResult getMessagesFromFriend(string email, string friendmail) {
DataLayer.Repository.Classes.DataLayer dl = DataLayer.Repository.Classes.DataLayer.Instance;
return Json(dl.getMessagesFromFriend(email, friendmail);
}
httpアナライザーでテスト投稿メッセージを送信すると、次のようになります。
Tue May 01 11:24:59 CEST 2012
----------------------------------------
POST http://xxx.xxx.xxx.xxx/tracy/chat/getMessagesFromFriend?email=linsy&friendmail=djcarre
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 01 May 2012 09:25:04 GMT
Content-Length: 309
----------------------------------------
----------------------------------------
[{"sender":"viagsm","receiver":"djcarre","datetime":"28/04/2012 16:55:33","message":"msg1"},{"sender":"viagsm ","receiver":"djcarre","datetime":"28/04/2012 16:55:59","message":"msg2"},{"sender":"Philippe C","receiver":"linsy","datetime":"28/04/2012 16:56:10","message":"test3"}]
----------------------------------------
だから、私のjsonを返しています。私のJavaScriptコードは次のようになります:
$.post("http://xxx.xxx.xxx.xxx/tracy/chat/getMessagesFromFriend?email=linsy&friendmail=djcarre", function(data) {
if (data.length > 0) {
for (x in data) {
$("#chatarea").html(
$("#chatarea").html() +
"<p><b>" +
data[x].sender + "</b>" +
" (" + data[x].datetime.match(/(\d+:\d+:\d+)/)[1] + ") : " +
data[x].message + "</p>");
}
}
}, "json");
}
firebug を見ると、投稿が送信され、200 の OK が返されますが、回答は空のままです。私も $.ajax で試してみました
error:function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
}
しかし、空のアラートしか表示されないため、エラーがありますが、どれがどのように解決するのかわかりません。誰かが私を助ける方法を知っていることを願っています。
敬具