JSON データをクライアントからアプリケーション ASP.NET MVC 4 にポストする必要がありますが、JavaScript コードはユーザーによって実行され、サイト www.lotsalneschs.com からサーバーにデータを転送します。テストには、Google Chrome コンソール パネルを使用しました。コントローラーコード:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public JsonResult Save(List<NewsModel> items)
{
return Json(null);
}
}
public class NewsModel
{
public string Title { get; set; }
public string Content { get; set; }
public List<string> Tags { get; set; }
}
Javascript コード:
function News() {
var arr = {};
var title = "items";
var tTitle = "Title";
var cTitle = "Content";
var tgTitle = "Tags";
arr[title] = [];
for (var i = 0; i < 10; i++) {
var n = {};
n[tTitle] = "Title №" + i;
n[cTitle] = "TEXT";
n[tgTitle] = [];
for (var j = 0; j < 5; j++) {
n[tgTitle].push("tag" + j);
}
arr[title].push(n);
}
return arr;
}
var news = News();
$.ajax({
url: 'http://localhost:28369/Home/Save',
type: 'POST',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(news)
});
ページ localhost:28369/Home/Index にいるときにスクリプトを実行すると、すべてが完全に機能します。
http://i.stack.imgur.com/RL1nR.png
ただし、stackoverflow.com などの他のページでこのスクリプトを実行すると、同じブレークポイントで中断されません。スクリプトで contentType を削除すると、次のようになります。
http://i.stack.imgur.com/4Hcyn.png
contentType を削除し、JSON.stringify を使用してデータをフォーマットしない場合、次のようになります。
http://i.stack.imgur.com/F1Ql7.png
この問題を解決するにはどうすればよいですか?