我的jQuery.post()
语法有一个问题。
我有控制器ExampleController.cs
,但有一个动作:
public ActionResult TestPost(Guid fileId) { //do something }
和视图Example.cshtml
,在这里我尝试加载此操作:
function foo(fileGuid) {
$.post("Example/TestPost?fileId=" + fileGuid, function () {
alert("success");
});
}
但是没有警报,我认为这种语法有问题。谁能帮我吗。感谢。
答案 0 :(得分:1)
尝试添加以下3个回调,看看是否收到错误提醒
var jqxhr = $.post("example.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
答案 1 :(得分:1)
您还应该检查Chrome控制台中的“网络”选项,看看服务器端是否有任何错误。这也可能是功能可能失败的原因。
答案 2 :(得分:0)
我认为您需要在您的位置添加反斜杠:
$.post("/Example...
如果这不起作用,请尝试使用帖子注释注释您的方法:
[HttpPost]
public ActionResult TestPost(Guid fileId) { //do something }
修改强>
由于您将参数指定为Guid,因此无法找到您的操作。如果将其更改为字符串:
public ActionResult TestPost(string fileId)
{
return View();
}
并运行:
$.post('/Example/TestPost?fileId=123', function () {
alert('here');
});
应该有效
答案 3 :(得分:0)
好的,我发现了这种方式:
$.post('@Url.Action("TestPost", "Example")', {fileId : fileGuid} , function () {
alert("success");
});
它有效。 :)