将AJAX POST的参数传递给Grails控制器

joh*_*ith 5 javascript ajax jquery grails params

我正在使用Grails构建一个社交网络,并且不得不让用户在其编辑页面内部将youtube-Url粘贴到文本字段中,并且通过单击一个按钮,JS粘贴了粘贴的URL中的id,ajax帖子是使用youtube视频的预览图片更新div

html看起来像:

                    <g:textField name="videoinput" class="videoinput reLef" value="" />
                    <span class="daten_videouploadbtn reLef" ></span>

        <g:render template="/forms/storedVideos" />
Run Code Online (Sandbox Code Playgroud)

JS看起来像:

    $('.daten_videouploadbtn').click(function() {

        var string = document.editProfileForm.videoinput.value;
        var neu = string.replace(/http[s]?:\/\/(?:[^\.]+\.)*(?:youtube\.com\/(?:v\/|watch\?(?:.*?\&)?v=|embed\/)|youtu.be\/)([\w\-\_]+)/i, '$1'); 
        var id = RegExp.$1;

        jQuery.ajax({
        type:'POST',
        data:RegExp.$1, 
        url:'${createLink(action: 'addVideo')}',
        success:function(data,textStatus){jQuery('#storedvideos').html(data);},
        error:function(XMLHttpRequest,textStatus,errorThrown){}
        });
});
Run Code Online (Sandbox Code Playgroud)

控制器看起来像:

def addVideo() {
    def videoitems = !!%%-- HOW TO PARSE YOUTUBE-ID HERE -%%!!
    render(template:"/forms/storedVideos", model: [newVideo:videoitems])
}
Run Code Online (Sandbox Code Playgroud)

和存储的视频看起来:

    <div id="storedvideos"><span><img src="http://img.youtube.com/vi/${newVideo}/default.jpg" width="225px" height="130px"/></span></div>
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何捕获Ajax Post的数据并使用id为里面的预览图像更新div,

有人能暗示一下吗?它杀了我

mic*_*cha 4

您应该像这样发布数据:

jQuery.ajax({
  type: 'POST',
  data: { value: RegExp.$1 },
  ...
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用 Grails 控制器访问已发布的数据params.value