2016-06-08 74 views
-3

我需要从JavaScript发送数据到我的动作,返回RedirectToAction和一些数据。Javascript发送数据到ActionResult,返回RedirectToAction

我的JS:

$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "GetAssetFilterID", 
     data: JSON.stringify({ 'VidLink' : clipData.src, 'InitialTime': clipData.markIn, 'EndTime': clipData.markOut }), 
     dataType: "json", 
     /*async: false,*/ 
    }); 

我的行动:

[HttpPost] 
public ActionResult GetAssetFilterID(string VidLink, string InitialTime, string EndTime) 
{ 
    //some code 
    return RedirectToAction("Share", new { vid = VidLink, fil = filterName }); 
} 

  • 我,对JS,网址controller/action和链接,它 产生了controller/controller/action
  • 我不在控制台上发生任何错误,没有任何反应。
  • 我不需要使用Ajax,我只是想将数据从我的Js发送到我的 ActionResult。 Ajax是我找到的样本。

在此先感谢

+0

首先,你可能不希望做'JSON.stringify'。 jQuery将根据需要为您处理它。把它交给对象。其次,你没有成功的回调或任何东西。你期望发生什么? –

+0

我不想回到JavaScript。我只是不想让Javascript发送数据并调用函数,并且该函数返回RedirectToAction,从不回到Js @MikeC –

+1

因此,您希望在发送数据后更改页面吗?那么你应该提交一份表格。 AJAX的全部目的是允许您发送和检索数据而不更改页面。 –

回答

0

你不能做到这一点。你所能做的只是在ajax结果中返回一个url,并使用JS重定向。以json或类似的方式返回url,并在ajax成功或完成回调中进行重定向。

因为浏览器从来没有发布它不期望的答复,将允许/导致重定向。

而且复制的asp.net mvc4 ajax login: RedirectToAction not working

+0

这很奇怪的Javascript don不允许我将数据发送到actionresult并且没有回调 –

+0

我不明白你的意思。 没有回调没有任何JavaScript做任何响应它,RedirectToAction创建一个HTTP 302重定向httpresponse哪(A)你将不得不手动编码在JS B处理)被浏览器本身忽略,因为它从来没有做过请求(JS做的)。 –

+0

我想要的很简单:Js:调用并发送数据给ActionResult。操作结果重定向到共享并发送一些数据。 –