我有这个 HTML 和脚本:
<form>
Text :<br>
<input type="text" name="nameid" id="nameid" value="">
<br><br>
<input type="submit" value="Send">
</form>
$(document).ready(function () {
$("form").submit(function (event) {
$.ajax({
type: 'GET',
url: "/MyController/MyAction2",
data: { nameid: $('#nameid').val() },
success: function (newdata) {
var cy = cytoscape({
container: document.getElementById("cy"),
elements: JSON.parse(newdata)
});
});
}
});
});
});
当从 AJAX 调用 MyAction2
时,URL 会转到 MyAction2
并且我会看到原始 JSON 数据。如何使 MyAction2
返回值到 AJAX,并且我将其用作 newdata
变量?谢谢。
最佳答案
您用于获取 JSON 数据的代码是正确的,您只需停止表单提交,可以通过在事件上调用 preventDefault()
来完成。
另请注意,问题中的 });
不匹配,但我认为这只是问题本身的拼写错误。另请注意,如果您设置了正确的 dataType
,则无需手动 JSON.parse
响应。试试这个:
$(document).ready(function () {
$("form").submit(function (event) {
event.preventDefault(); // < add this...
$.ajax({
type: 'GET',
url: "/MyController/MyAction2",
data: { nameid: $('#nameid').val() },
dataType: 'json',
success: function (newdata) {
var cy = cytoscape({
container: document.getElementById("cy"),
elements: newdata
});
}
});
});
});
关于javascript - MVC Controller 返回 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43732156/