1

我有一个要迁移以使用 ASP.NET MVC 3 的应用程序。该应用程序具有各种 GET 和 POST 操作,可通过 JQuery 访问并通过 MVC 3 公开。总体思路如下所示:

jQuery

var vm = { param1:"someValue", param2:"someValue", param3: "someValue" };
$.ajax({
  url: http://localhost:49812/actions/postAction,
    type: "POST",
    data: JSON.stringify(vm),
    contentType: "application/json",
    success: call_Succeeded,
    error: call_Failed
  });

function call_Succeeded(result) {
  // Do Stuff
}

function call_Failed(p1, p2, p3) {
  // Do Stuff
}

提琴手

http://localhost:49812/actions/postAction 

{"param1":"value1","param2":"value2","param3":"value3"}

ASP.NET MVC 3 控制器

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult PostAction(string param1, string param2, string param3)
{
  // Do stuff
  return Json(new { Message="Success!" });
}

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetAction(string param1, string param2, string param3)
{
  // Do stuff
  return Json(new { Message="Success!" }, JsonRequestBehavior.AllowGet);
}

我正在尝试在 Windows Phone 上使用 C# 与这些 ASP.NET MVC 3 端点进行交互。我很难弄清楚如何通过 WebClient 和 WebRequest 对象进行 GET 和 POST。给我带来问题的具体部分是传递参数。无论我做什么,我都会收到 404 错误。有人可以告诉我如何做到这一点吗?

谢谢!

4

1 回答 1

0

可以肯定的是,您是否将localhost替换为实际的网络服务器名称(由于 Cassini 不接受外部请求,因此部署在 IIS 上)?

$.ajax({ 
  url: http://localhost:49812/actions/postAction, 
    type: "POST", 
    data: JSON.stringify(vm), 
    contentType: "application/json", 
    success: call_Succeeded, 
    error: call_Failed 
  });
于 2012-04-23T22:34:15.640 回答