この 2 つのコードを考えると、次のようになります。
Javascript:
/* Stores the received song. */
var receivedSong;
/* Class: goearSong *
* Description: Stores a song */
function goearSong(link, artist, title) {
this.link = link;
this.artist = artist;
this.title = title;
}
function getGoearLink(code) {
var key = 'id';
var value = code;
$.ajax({
type: 'GET',
url: 'goearScript.php',
data: {key : code},
success: function (response) {
alert("Success!");
},
error: function (response) {
alert("Error..." + response);
},
failure: function (response) {
alert("Failure..." + response);
}
});
}
getGoearLink("06b3682");
PHP:
<?php
function path($id){
$ip = substr($id, 0, 1);
$load = 'http://www.goear.com/tracker758.php?f='.$id.'';
$load = file_get_contents($load);
$temp = explode("=", $load);
$num = 3;
$path = $temp[$num];
$path = str_replace("\"", "",$path );
$path = str_replace(" bild", "",$path );
return($path);
}
function name($id){
$ip = substr($id, 0, 1);
$load = 'http://www.goear.com/tracker758.php?f='.$id.'';
$load = file_get_contents($load);
$temp = explode("=", $load);
$num = 5;
$name = $temp[$num]." - ".$temp[$num+1];
$name = str_replace("\" title", "",$name );
$name = str_replace("\" />", "",$name );
$name = str_replace("\"", "",$name );
$name = str_replace("</songs>", "",$name );
$name = str_replace("/>", "",$name );
return($name);
}
$_id = $_GET['id'];
$_ip = substr($_id, 0, 1);
if($_id){
$load = 'http://www.goear.com/tracker758.php?f='.$_id.'';
$xml = @simplexml_load_file($load);
if ($xml) {
$path = $xml->song['path'];
$artist = $xml->song['artist'];
$title = $xml->song['title'];
$name = $artist.' - '.$title.'';
}
else{
$path = path($_id);
$name = name($_id);
}
}
echo 'new goearSong("'.$path.'", "'.$artist.'", "'.$title.'");';
?>
正しい「コード」値が与えられたときに正しい出力を取得できない理由がわかりません。関数は常にエラーとして終了します...
次の文字列を使用してローカル サーバーでテストされているため、PHP コードは正しいです。
/localhost/goearScript.php?id=06b3682
誰でもこの問題に光を当てることができますか? それは私を怒らせています!
前もって感謝します!
編集
PHP ファイルはルート ディレクトリではなく、 /php/ディレクトリの下にあったようです。したがって、これを変更することで問題は解決します。
$.ajax({
type: 'GET',
url: 'goearScript.php',
これに:
$.ajax({
type: 'GET',
url: 'php/goearScript.php',
また、選択した回答で言及されている行を変更します。みんなありがとう!