将变量从Javascript传递到PHP并返回

将变量从Javascript传递到PHP并返回,javascript,php,jquery,variables,Javascript,Php,Jquery,Variables,控制台最终写回 未捕获引用错误:未定义provhtml 此外,当我将Javascript更改为下面的代码时,控制台最终只是编写代码 以下是我在my index.html中的脚本 $('button[name="otherlistbut"]').click(function(d) { lookupProvider(d); }); }); /************ FUNCTIONS ******************/ function lookupProv

控制台最终写回

未捕获引用错误:未定义provhtml

此外,当我将Javascript更改为下面的代码时,控制台最终只是编写代码

以下是我在my index.html中的脚本

   $('button[name="otherlistbut"]').click(function(d) {
        lookupProvider(d);

    });
});

/************ FUNCTIONS ******************/

function lookupProvider(d) {
    d.preventDefault();
    var phonenum = $('input[name="phonenum"]').val();
    $.ajax({
        type: 'POST',
        data: {
            phonenum: phonenum
        },
        url: 'prov.php',
        success: function(data) {
            var provnum = $(provhtml);
            console.log(provnum);
        },
        error: function(xhr, err) {
            console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
            console.log("responseText: " + xhr.responseText);
        }
    });
}
function lookupProvider(d) {
    d.preventDefault();
    var phonenum = $('input[name="phonenum"]').val();
    $.ajax({
        type: 'POST',
        data: {
            phonenum: phonenum
        },
        url: 'prov.php',
        success: function(data) { //Receives the data from the php code
            var provnum = data.phonenum;
            console.log(provnum);
        },
        error: function(xhr, err) {
            console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
            console.log("responseText: " + xhr.responseText);
        }
    });
}
在prov.php文件中

<?php    
$phonenum = $_POST["phonenum"];
$provhtml = file_get_contents('http://api.data24-7.com/v/2.0?user=USERNAME&pass=PASSWORD&api=C&p1=1' . $phonenum);   
echo json_encode( array( "phonenum" => $phonenum,"provhtml"=>$provhtml)); //You should be returning the values to your ajax function
 ?>

你不应该从你的php代码伙伴那里返回值吗?@Outlooker是的,我想是因为在这一行:var provnum=$provhtml;未定义provhtml。您需要使用数据,然后在prov.php文件中需要回显所需内容。啊,这很有意义。那么您有什么建议呢?控制台上显示undefinedtry Console.logdata;它的响应是{phonenum:31055555,provhtml:false}。我希望它以$provhtmlth内链接的HTML内容进行响应,这是您可能从文件\u get\u contents获得的内容。请尝试$provhtml=file\u get\u contents'http://www.google.com/'; 它给了你正确的回答。。
<?php    
$phonenum = $_POST["phonenum"];
$provhtml = file_get_contents('http://api.data24-7.com/v/2.0?user=USERNAME&pass=PASSWORD&api=C&p1=1' . $phonenum);   
echo json_encode( array( "phonenum" => $phonenum,"provhtml"=>$provhtml)); //You should be returning the values to your ajax function
 ?>
function lookupProvider(d) {
    d.preventDefault();
    var phonenum = $('input[name="phonenum"]').val();
    $.ajax({
        type: 'POST',
        data: {
            phonenum: phonenum
        },
        url: 'prov.php',
        success: function(data) { //Receives the data from the php code
            var provnum = data.phonenum;
            console.log(provnum);
        },
        error: function(xhr, err) {
            console.log("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
            console.log("responseText: " + xhr.responseText);
        }
    });
}