私は常にポート13001をリッスンするHttpListenerContextクラスを持っています.ajax呼び出しが来るたびに、次のようにデータを渡しています
context.Response.Close(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject("jsonp({'Status':'Good'})")), false);
次に、次のように Jquery ajax を使用してそのサーバーを呼び出しています。
$.ajax({
url: "http://localhost:<13001>/hit/number',
type: "GET",
async: false,
contentType: "application/json",
dataType: "jsonp",
jsonp: "jsonp",
success: function (data, textStatus, xhr) {
console.log(data);
},
error: function (xhr, ajaxOptions, thrownError) {
console.log("Error");
}
});
Ajax Get Request が成功し、次のように Chrome Network->Response タブで応答を確認できます
"jsonp({"Status":"Good"})"
しかし、Ajax Success 関数でこのメッセージを取得できません。常にエラーが表示されます。誰でも私がどこを間違えたのか教えてください。
Response Headers
Access-Control-Allow-Origin:*
Cache-Control:private
Content-Length:23
Content-Type:application/javascript
Date:Fri, 27 Sep 2013 01:12:25 GMT
Server:Microsoft-HTTPAPI/2.0