0

この 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',

また、選択した回答で言及されている行を変更します。みんなありがとう!

4

1 に答える 1

0

ファイルで使用$_GET['id']していて、パラメーターとして渡している場合は、渡して追加する必要がありますPHPkeyGETiddataType: 'text',

data: {key: code},これをこれに置き換えてdata: {id: code},試してください

更新function getGoearLinkは以下の通りです。

function getGoearLink(code) {
    $.ajax({
        type: 'GET',
        url: 'goearScript.php',
        dataType: 'text',
        data: {'id': code},
        success: function(response) {
            alert("Success!\n" + response);
        },
        error: function(response) {
            alert("Error..." + response);
        },
        failure: function(response) {
            alert("Failure..." + response);
        }
    });

}
于 2013-07-11T20:26:37.473 に答える