我正在用 Grails 构建一个社交网络,并坚持让用户在他们的 editprofile 页面内有机会将一个 youtube-Url 粘贴到一个文本字段中,并通过单击一个按钮,一个 JS 正则表达式将 id 从粘贴的 URL 中取出,一个 ajax 帖子是使用 youtube 视频的预览图像更新 div
html看起来像:
<g:textField name="videoinput" class="videoinput reLef" value="" />
<span class="daten_videouploadbtn reLef" ></span>
<g:render template="/forms/storedVideos" />
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){}
});
});
控制器看起来像:
def addVideo() {
def videoitems = !!%%-- HOW TO PARSE YOUTUBE-ID HERE -%%!!
render(template:"/forms/storedVideos", model: [newVideo:videoitems])
}
和存储的视频看起来:
<div id="storedvideos"><span><img src="http://img.youtube.com/vi/${newVideo}/default.jpg" width="225px" height="130px"/></span></div>
我只是不明白如何捕获 Ajax Post 的数据并使用内部带有 id 的预览图像更新 div,
有人可以给个提示吗?它正在杀死我