Я пытаюсь использовать getJSON для извлечения данных из файла PHP, однако, когда я передаю «data», вызов $ _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);
?>
ваш $.getJSON
звонок должен пройти data
не val
:
$.getJSON(URL, val, function(data){
должно быть
$.getJSON(URL, data, function(data){
И ваш PHP должен использовать $_GET
не $_POST
$input = $_POST["val"];
должно быть
$input = $_GET["val"];
Ты используешь 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']
Документация: http://api.jquery.com/jquery.getjson/