我正在尝试使用getJSON从PHP文件中提取数据,但是当我传入"数据"它的$ _POST调用似乎没有检索到任何数据。
function runJSON(network,searchType){
var URL = returnURL(network,searchType,$('#song_field').val().split(' ').join("+"));
var val = $('#song_field').val();
var data = {val: val}
$.getJSON(URL, val, function(data){
if(document.getElementById("box") !== "undefined"){
clearScreen();
createCols();
}
songList = [];
console.log(data);
eval(network + "(data);");
for(i = 0; i < songList.length; i++)
{
displayTrack(i);
}
done = true;
});
}
php文件:
<?php
$input = $_POST["val"];
$url = "http://api.7digital.com/1.2/track/search?q=" . $input . "&oauth_consumer_key=myconsumerkey&country=GB&pagesize=2";
$data = simplexml_load_file($url);
$json = json_encode($data);
echo ($json);
?>
答案 0 :(得分:2)
您的$.getJSON
来电应该通过data
而不是val
:
$.getJSON(URL, val, function(data){
应该是
$.getJSON(URL, data, function(data){
你的php应该使用$_GET
而不是$_POST
$input = $_POST["val"];
应该是
$input = $_GET["val"];
答案 1 :(得分:1)
您错误地使用getJSON
,
var val = $('#song_field').val();
$.getJSON(URL, {val: val}, function(data){ //<- Note how data passed
此外,getJSON
使用GET
方法,因此在PHP中,使用$_GET
或$_REQUEST
,即
$_REQUEST['val']
或
$_GET['val']