正如标题所说,我已多次尝试使其正常工作,但没有成功......警报窗口始终显示html部分的全部来源。 我哪里错了?请帮我。 感谢。
PHP:
<?php
if (isset($_POST['send'])) {
$file = $_POST['fblink'];
$contents = file_get_contents($file);
echo $_POST['fblink'];
exit;
}
?>
HTML:
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function() {
$("input#invia").click(function(e) {
if( !confirm('Are you sure?')) {
return false;
}
var fbvideo = $("#videolink").val();
$.ajax({
type: 'POST',
data: fbvideo ,
cache: false,
//dataType: "html",
success: function(test){
alert(test);
}
});
e.preventDefault();
});
});
</script>
</head>
<div style="position:relative; margin-top:2000px;">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input id="videolink" type="text" name="fblink" style="width:500px;">
<br>
<input id="invia" type="submit" name="send" value="Get Link!">
</form>
</div>
</html>
答案 0 :(得分:1)
您必须指定要发送数据的网址。 它可以是手动的,也可以获取表单标记的action属性。
如果您需要一些额外的Please wait while we try to verify your browser...<br/>If you are stuck on this page disable your browser addons
值,而不是表单中的输入,您可以将其添加到send
的序列化表单值,其中formSerializedValues += "&item" + value;'
是之前已定义为formSerializedValues
(formSerializedValues = <form>.serialize()
是您当前的表单)。
<form>
答案 1 :(得分:1)
您的问题是,您认为您的表单字段是使用ajax自动发送的。但是你必须将每一个定义到其中。
试试这段代码:
<script>
$(document).ready(function() {
$("input#invia").click(function(e) {
if( !confirm('Are you sure?')) {
return false;
}
var fbvideo = $("#videolink").val();
$.ajax({
type: 'POST',
data: {
send: 1,
fblink: fbvideo
},
cache: false,
//dataType: "html",
success: function(test){
alert(test);
}
});
e.preventDefault();
});
});
</script>
jQuery不是为自己定义每个输入,而是使用方法.serialize()
,使用此方法可以轻松读取表单的所有输入。
查看docs。
也许你使用.submit()
而不是点击提交按钮。因为用户有多种方式提交表单。
$("input#invia").closest('form').submit(function(e) {