PHP Jquery Ajax POST调用,不起作用

PHP Jquery Ajax POST调用,不起作用,php,jquery,ajax,Php,Jquery,Ajax,正如标题所说,我曾多次尝试让它工作,但没有成功。。。警报窗口始终显示html部分的整个源代码。 我错在哪里?请帮帮我。 谢谢 PHP: HTML: <html> <head> <script type="text/javascript" src="https://code.jquery.com/jquery-1.8.3.min.js"></script> <script> $(document).ready(function() {

正如标题所说,我曾多次尝试让它工作,但没有成功。。。警报窗口始终显示html部分的整个源代码。 我错在哪里?请帮帮我。 谢谢

PHP:


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>

$(文档).ready(函数(){
$(“input#invia”)。单击(函数(e){
如果(!confirm('你确定吗?')){
返回false;
}
var fbvideo=$(“#视频链接”).val();
$.ajax({
键入:“POST”,
资料来源:fbvideo,
cache:false,
//数据类型:“html”,
成功:功能(测试){
警报(测试);
}
});
e、 预防默认值();
});
});

您必须指定要将数据发送到的url。 它可以是手动的,也可以获取表单标记的action属性

如果您需要一些附加值作为
send
值,则该值不是表单中的输入,您可以使用
formSerializedValues+=“&item”+value;”将其添加到序列化表单值中
其中
formSerializedValues
先前已定义为
formSerializedValues=.serialize()
是您当前的表单)


$(文档).ready(函数(){
$(“#因维亚”)。单击(函数(e){
e、 预防默认值();
如果(!confirm('你确定吗?')){
返回false;
}
//现在,您将获得表单中的数据作为对象发送
让fbvideo=$(“#视频链接”).parent().serialize();
//最好给它一个id或类来标识它
让formAction=$(“#视频链接”).parent().attr('action');
//如果您需要任何不作为表单输入的附加值
//fbvideo+='&项目'+值;
$.ajax({
键入:“POST”,
资料来源:fbvideo,
cache:false,
//数据类型:“html”,
//在这种情况下,url是可选的
//url:formAction,
成功:功能(测试){
警报(测试);
}
});
});
});

您必须指定要将数据发送到的url。 它可以是手动的,也可以获取表单标记的action属性

如果您需要一些附加值作为
send
值,则该值不是表单中的输入,您可以使用
formSerializedValues+=“&item”+value;”将其添加到序列化表单值中
其中
formSerializedValues
先前已定义为
formSerializedValues=.serialize()
是您当前的表单)


$(文档).ready(函数(){
$(“#因维亚”)。单击(函数(e){
e、 预防默认值();
如果(!confirm('你确定吗?')){
返回false;
}
//现在,您将获得表单中的数据作为对象发送
让fbvideo=$(“#视频链接”).parent().serialize();
//最好给它一个id或类来标识它
让formAction=$(“#视频链接”).parent().attr('action');
//如果您需要任何不作为表单输入的附加值
//fbvideo+='&项目'+值;
$.ajax({
键入:“POST”,
资料来源:fbvideo,
cache:false,
//数据类型:“html”,
//在这种情况下,url是可选的
//url:formAction,
成功:功能(测试){
警报(测试);
}
});
});
});

您的问题是,您认为表单字段是使用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>

您的问题是,您认为表单字段是使用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>

示例输入字符串和输出将非常有用。
$\u POST['send']
$\u POST['fblink']
不会发送到服务器。您的
数据
属性只是一个值字符串。尝试发送一个对象。看看jquery的文档。ajax@Sysix你能给我举个例子吗?感谢
数据:{send:1,fblink:fbvideo},
而不是
数据:fbvideo,
@Sysix yess!我已将其更改为
数据:{send:'',fblink:fbvideo},
现在工作正常!如果你回答,我可以接受你的回答示例输入字符串和输出将非常有用。
$\u POST['send']
$\u POST['fblink']
不会发送到服务器。您的
数据
属性只是一个值字符串。尝试发送一个对象。看看jquery的文档。ajax@Sysix你能给我举个例子吗?感谢
数据:{send:1,fblink:fbvideo},
而不是
数据:fbvideo,
@Sysix yess!我已将其更改为
数据:{send:'',fblink:fbvideo},
现在工作正常!如果你回答,我可以接受你的回答我想在同一个文件中执行ajax,为此我没有设置URLURL,如果您调用当前页面,则不需要它。我想在同一个文件中执行ajax,为此我没有设置URLURL,如果您调用当前页面,则不需要它。
<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>
$("input#invia").closest('form').submit(function(e) {