我让用户在表单中输入值,onClick()
激活一个函数,该函数接受用户粘贴的URL并将其剪切(使用我制作的算法,但这是无关紧要的)。我最终得到一个11个字符的字符串,我不知道如何将其提交到一个提交到我的数据库的php页面。我现在这样做的方式是将浏览器带到一个新页面,我希望用户保持在同一页面上。
function findvideoid(){
window.location.href = 'submitvid.php?videoID=' + videoID;
}
答案 0 :(得分:3)
纯JavaScript解决方案(推荐):
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyStatus == 4) { // finished
if (xhr.status == 200) { // 200 HTTP code returned by server
}
else { // error
}
}
};
xhr.open("GET", "your-script.php?videoID=" + encodeURIComponent(videoID));
xhr.send(null);
jQuery解决方案(如果您已在项目中使用jQuery或者想要尝试使用jQuery,则建议使用):
// PHP script can access $_GET['videoID']
jQuery.get("your-script.php?videoID=" + encodeURIComponent(videoID));
// PHP script can access $_POST['videoID']
jQuery.post("your-script.php", {videoID: videoID});
jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )
jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )
答案 1 :(得分:2)
如何通过加载外部html资源来屏蔽实际的ajax调用呢? 如果不需要真正的回调,您可以将iframe注入指向指定URL的文档中,然后将其从文档中删除。
以下是通过加载图片来访问后端的api url的示例:
function findvideoid(id, callback){
var img = new Image();
img.onload = callback;
img.src = apiUrl + '?videoId=' + encodeURIComponent(id)
+ '&antiCache=' + new Date().getTime();
}
没有ajax。没有其他的libs。谷歌为它的分析做到了这一点。你为什么不呢?
答案 2 :(得分:-1)
使用AJAX:
function findvideoid()
{
var html = $.ajax({
type: "POST",
url: "submitvid.php",
data: "videoID=" + videoID,
async: false
}).responseText;
if(html == "success")
{
// Uncomment the following line in your application
//return true;
}
else
{
return false;
}
}
答案 3 :(得分:-2)
您可以在jQuery中轻松完成此操作
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});