2014-12-08 66 views
0

控制台结束回写传递变量从Javascript到PHP和背部

Uncaught ReferenceError: provhtml is not defined

此外,当我正下方改变了我的Javascript被代码,控制台最终只是写“<?= $provhtml ?>

var provnum = "<?= $provhtml ?>"; 
console.log(provnum); 

我不完全确定问题是什么。我希望控制台内写入$ provhtml当用户点击一个名为otherlistbut 按钮(我也是,如果有需要是不知道d.preventDefault(); 这里是我的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); 
?> 

这里是我的在我的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); 
     } 
    }); 
} 
+0

应该不会返回您的php代码队友的值。 – Outlooker 2014-12-08 05:20:02

+0

@Outlooker是的,我想成为 – DanMossa 2014-12-08 05:23:57

+0

因为在这一行上:'var provnum = $(provhtml);'provhtml'没有被定义。你需要使用'data',然后在'prov.php'文件中,你需要'echo'你想要的东西。 – 2014-12-08 05:25:03

回答

0

脚本在你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 
?> 

在您的index.html

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); 
     } 
    }); 
} 
+0

控制台显示“undefined” – DanMossa 2014-12-08 05:32:51

+0

尝试'console.log(data)'; – Outlooker 2014-12-08 05:33:34

+0

它以“{”phonenum“:”3105555555“,”provhtml“:false}”响应“。我希望它用'$ provhtml' – DanMossa 2014-12-08 05:37:34