使用JSON / Javascript将表值返回给viewmodel / controller

时间:2013-06-07 20:15:04

标签: c# javascript ajax json asp.net-mvc-4

我对Javascript / JSON比较陌生,我一直在寻找一个如何做到这一点的例子。目前我在视图中的内容是

<p>Please enter your email and phone number registered with the account</p>
<table id="Table">
    <tr>
        <td>Email</td>
        <td> <input id = "email" type ="text" name= "email" /></td>
    </tr>
    <tr>
        <td>Phone Number</td>
        <td> <input id = "phone" type ="text" name= "phone" /></td>
    </tr>
</table>
<input type="button" value="Submit" id="sendMSG">

我想将它发送到以下控制器

 public JsonResult SendMessage(SMSTestViewModel model)
    {
   string email = model.email;
   string number = model.phone;
    }

我想做的是编写一个脚本,说当我点击按钮时,将我放在两个文本框中的信息发送到我的viewmodel然后发送到我的控制器。 我也喜欢这样做,因为它没有引用页面。

如果你可以带领我朝着正确的方向前进,那就太棒了。

1 个答案:

答案 0 :(得分:1)

我想我明白你在找什么。您想将表单发布到SendMessage操作结果吗?

这就是你想要的。

function submit() {
    $.ajax({
        type: "POST",
        url: /SendMessage,
        contentType: "application/json",
        dataType: "json",
        data: { "email" : $("#email").value, "phone" : $("#phone").value }, 
        success: function (data) {
            console.log(data);
        },
        error: console.log("Where's the nearest bar?");
    });
}

$("#sendMSG").click(function () {
    submit();
});

抱歉,我以为你在使用JQuery。

如果您不想使用JQuery,只需更改。

$("#phone") 

的document.getElementById( “手机”)

以下是没有JQuery的POST的方法。

How to make an AJAX call without jQuery?

希望这会有所帮助。