我让用户在表单中输入一个值并onClick()
激活一个函数,该函数获取用户粘贴的 URL 并将其删除(使用我制作的算法,但这无关紧要)。我最终得到一个 11 个字符的字符串,但我不确定如何将其发送到将其提交到我的数据库的 php 页面。我现在这样做的方式将浏览器带到一个新页面,我希望用户留在同一页面上。
function findvideoid(){
window.location.href = 'submitvid.php?videoID=' + videoID;
}
我让用户在表单中输入一个值并onClick()
激活一个函数,该函数获取用户粘贴的 URL 并将其删除(使用我制作的算法,但这无关紧要)。我最终得到一个 11 个字符的字符串,但我不确定如何将其发送到将其提交到我的数据库的 php 页面。我现在这样做的方式将浏览器带到一个新页面,我希望用户留在同一页面上。
function findvideoid(){
window.location.href = 'submitvid.php?videoID=' + videoID;
}
纯 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 或想尝试一下,建议您使用):
// 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 ])
如何通过加载外部 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:
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;
}
}
您可以在 jQuery 中轻松完成此操作
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});