私のasp.net mvc webserviceからjsonを受け取ろうとしています。 ASP.NET:私は、HTTPアナライザでテストポストメッセージを送信すると
public JsonResult getMessagesFromFriend(string email, string friendmail) {
DataLayer.Repository.Classes.DataLayer dl = DataLayer.Repository.Classes.DataLayer.Instance;
return Json(dl.getMessagesFromFriend(email, friendmail);
}
私が手:
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");
}
私は放火犯で見ると、ポストが送信され、私は200 OKを得るが、答えは空のままです。 私はまた、$アヤックスと
error:function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
}
で試してみました。しかし、私は唯一の空のアラートを取得するので、そこに誤差があるが、私は1見当がつかないとどのようにそれを解決するために。 誰かが私を助ける方法を知っていれば幸いです。原因あなたは、クロスドメインAJAX要求を送信できないブラウザに組み込まれているsame origin policy制限に
http://xxx.xxx.xxx.xxx/tracy/chat/getMessagesFromFriend?email=linsy&friendmail=djcarre
:
種類は、あなたがあなたのAJAXリクエストのための絶対アドレスを指定しているように見える
あなたのアプリケーションドメインにのみ、または別のドメインに投稿しようとしていますか? –