我需要提交一个简单的表单并验证模型。如果模型有效,我想序列化该模型并使用自定义 header 通过 POST 将其发送到外部 (https) Web 服务。最后,我将处理从请求返回的响应并显示适当的消息。
我正在完美地验证 Controller 中的模型并序列化对象,但似乎无法找到一种方法来创建对外部 URI 的 JSON post 请求。有没有办法使用 JQuery.ajax 或 $.post 来做到这一点。也许我缺少一个关键的 ajax 参数来实现这一点。
谢谢
最佳答案
因此,根据对问题的澄清,您可以执行以下操作:
定义将验证对象的 Controller 方法
public ActionResult TestMethod() {
// do server-side validation
return Json(aValidObject);
}
您向 Controller 发送 ajax post,以便验证您的模型,然后返回 json 结果。
$.ajax({
url: '@Url.Action("TestMethod")',
data: some_data,
type: "post",
success: function (result) {
// result is a valid json object
doExternalPost(result);
}
});
添加自定义标题并进行外部发布
function doExternalPost(o) {
$.ajax({
url: 'http://some_external_url',
data: o,
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader('custom_header', 'some_value');
},
success: function() {
// post is sucessful
},
error: function (xhr, errorType, exception) {
var errorMessage = exception || xhr.statusText || xhr.responseText;
alert('An error has occured: ' + errorMessage);
},
});
}
关于c# - MVC4 模型验证然后使用 JQuery 将 JSON post 提交到外部 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16138202/