Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax从另一个php调用php_Javascript_Php_Ajax - Fatal编程技术网

Javascript 使用ajax从另一个php调用php

Javascript 使用ajax从另一个php调用php,javascript,php,ajax,Javascript,Php,Ajax,我试图从ajax调用php,所以我在第一页(index.php)上写了以下内容: 函数有效(id){ var元素=document.getElementById(id); $.ajax({ url:'valid.php', 类型:'POST', 数据: { url:element.children[0]。childNodes[0]。nodeValue }, 成功:功能(msg) { console.log('done1'); } }); } 这是我的第二个(valid.php): cons

我试图从ajax调用php,所以我在第一页(index.php)上写了以下内容:


函数有效(id){
var元素=document.getElementById(id);
$.ajax({
url:'valid.php',
类型:'POST',
数据:
{
url:element.children[0]。childNodes[0]。nodeValue
},
成功:功能(msg)
{
console.log('done1');
}
});
}
这是我的第二个(valid.php):


console.log('done2');
但是当我调用我的函数时,它似乎不会调用valid.php,即使控制台显示“done1”,“done2”没有出现在任何地方,并且数据库保持不变,比如valid.php就是不运行


我怎样才能解决这个问题?谢谢大家!

因为您使用的是POST,所以需要在valid.php中使用$\u POST而不是$\u GET来检索数据。

如果您期望的是
isset($\u GET['url'])
这是一个GET参数,但您的AJAX请求是通过POST发送的。您应该将其更改为
isset($\u POST['url'])

关于
console.log('done2')
在valid.php上,除非您将其附加到index.php的主体中并对特定脚本求值,否则它不会执行,但它是多余的,因为
console.log('done1')
表示valid.php请求的完成


编辑:在你的插入查询中,你有
$\u GET['url']
,应该是
$\u POST['url']

谢谢你的回复,我没有看到。我更改了这个,但它仍然是一样的,数据库仍然没有更改。@勾选我对答案所做的编辑,它应该对您有所帮助。
<script type="text/javascript">
function valid(id) {
    var element = document.getElementById(id);

    $.ajax({
        url: 'valid.php',
        type:'POST',
    data:
    {
        url: element.children[0].childNodes[0].nodeValue
    },
    success: function(msg)
    {
        console.log('done 1');
    }
    });
}
</script>
<script type="text/javascript">
console.log('done 2');
</script>
<?php
if (isset($_GET['url']))
{
    try
    {
        $bdd = new PDO('mysql:host=host;dbname=dbname;charset=utf8', 'id', 'password');
        $bdd->exec("INSERT INTO sometable (url) 
VALUES (".$_GET['url'].");");
    }
    catch (Exception $e)
    {
        die();
    }
}
?>