$ _POST не получает значение (getJSON)

Я пытаюсь использовать 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);
?>

0

Решение

ваш $.getJSON звонок должен пройти data не val:

$.getJSON(URL, val, function(data){

должно быть

$.getJSON(URL, data, function(data){

И ваш PHP должен использовать $_GET не $_POST

$input = $_POST["val"];

должно быть

$input = $_GET["val"];
2

Другие решения

Ты используешь 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/

1

По вопросам рекламы [email protected]