Я этот скрипт загружен на странице:Asp.net MVC JQuery Ajax звонки не JsonResult возвращать никаких данных
(function() {
window.alert('bookmarklet started');
function AjaxSuccess(data, textStatus, xmlHttpRequest) {
if (typeof (data) == 'undefined') {
return alert('Data is undefined');
}
alert('ajax success' + (data || ': no data'));
}
function AjaxError(xmlHttpRequest, textStatus, errorThrown) {
alert('ajax failure:' + textStatus);
}
/*imaginarydevelopment.com/Sfc*/
var destination = { url: 'http://localhost:3041/Bookmarklet/SaveHtml', type: 'POST', success: AjaxSuccess, error: AjaxError,
dataType: 'text',contentType: 'application/x-www-form-urlencoded'
};
if (typeof (jQuery) == 'undefined') {
return alert('jQuery not defined');
}
if (typeof ($jq) == 'undefined') {
if (typeof ($) != 'undefined') {
$jq = $;
} else {
return alert('$jq->jquerify not defined');
}
}
if ($jq('body').length <= 0) {
return alert('Could not query body length');
}
if ($jq('head title:contains(BookmarkletTest)').length > 0) {
alert('doing test');
destination.data = { data: 'BookmarkletTestAjax' };
$jq.ajax(destination);
return;
}
})();
, когда она выполняется локально в Кассини VS2008 в основе AJAX успеха показывает возвращаемую строку из Asp.net MVC, когда он запускается удаленно, данные успеха ajax равны нулю. Вот метод управления, который стреляет как локально, так и при удаленном запуске:
[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Get)]
public string SaveHtml(string data)
{
var path = getPath(Server.MapPath);
System.IO.File.WriteAllText(path,data);
Console.WriteLine("SaveHtml called");
Debug.WriteLine("SaveHtml called");
//return Json(new { result = "SaveHtml Success" });
return "SaveHtml Success";
}
После того, как я он работает, я собирался удалить GET, но в настоящее время доступ к методу SaveHtml непосредственно из веб-браузера дает ожидаемые результаты при тестировании ,
Так что в моем javascript есть что-то не так, я верю, потому что, когда я нахожусь там с инструментами разработчика хром, я вижу, что данные равны нулю, а xmlHttpRequest не имеет ожидаемого результата в нем нигде.
я загружаю JQuery через http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
ну ... запрос работает, данные отправляются, ответ ajax подходит как успешный, но в ответе нет данных. Это кросс-сайт, но как электронная таблица google, и эти 2 ресурса говорят, что это выполнимо: http://www.west-wind.com/Weblog/posts/107136.aspx http://jeffancel.com/archive/2009/ 04/05/70.aspx http://code.google.com/apis/gdata/docs/json.html – Maslow
Вы не делаете этого с JSONP, однако - вы просто пытаетесь сделать простой XMLHttpRequest. Вы должны сказать jQuery, что вы хотите использовать JSONP, и сервер должен ожидать этого и знать, чтобы ответить правильным текстом JSON/Javascript. – Pointy
Вы можете объяснить это чуть подробнее? Я не поймаю вас – Maslow