【发布时间】:2017-05-02 04:30:15
【问题描述】:
这是我想要实现的目标:
View1 向 View2 发送name 字符串,View2 向 View1 发送 JSON,View1 解析并显示数据。
View1 像这样向 View2 发送名称字符串:
$(document).ready(function () {
var myurl = "/Controller/View2";
$("form").submit(function (event) {
$.ajax({
type: 'POST',
url: myurl,
data: $('#nameid').val(),
success: function (newdata) {
View2 是一个返回 JSON 的控制器:
public ActionResult View2(string nameid)
{
//do stuff
return Json(jsObj, JsonRequestBehavior.AllowGet);
}
View1 控制器是这样的:
public ActionResult View1(string nameid)
{
if(!string.IsNullOrEmpty(nameid))
{
return RedirectToAction("View2", new { nameid = nameid });
}
else
{
return View();
}
}
我不知道我搞砸了哪一部分,但是当我单击提交时,它会显示 JSON 对象本身。我该如何解决这种情况?谢谢。
编辑: 这是我的 View1 视图(我没有 View2 控制器的视图):
<!doctype html>
<html>
<head>
<meta charset="utf-8"></meta>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="~/Scripts/cytoscape.js"></script>
</head>
<style>
#cy {
width: 80%;
height: 80%;
position: center;
top: 0px;
left: 0px;
}
</style>
<body>
<form>
Enter a name:<br>
<input type="text" name="nameid" id="nameid" value="">
<br><br>
<input type="submit" value="Send!">
</form>
<div id="cy"></div>
<script>
var myVar = null
$(document).ready(function () {
$("form").submit(function (event) {
//event.preventDefault();
$.ajax({
type: 'POST',
url: "/Controller/View2",
data: { nameid: $('#nameid').val() },
success: function (newdata) {
var cy = cytoscape({
container: document.getElementById("cy"),
elements: JSON.parse(newdata)
});
}
});
});
});
</script>
</body>
</html>
【问题讨论】:
标签: jquery asp.net json ajax asp.net-mvc