0

そのため、ユーザーがオーディオをSoundcloudにアップロードできるようにするjavascriptが含まれているWordPressテーマのファイルがあります。以下のコードを参照してください。

SC.connect({
  connected: function(){
    $("#uploadStatus").html("Uploading...");
    SC.recordUpload({
      track: {
        title: "My Recording at The Appreciation Engine",
        sharing: "public"
      }
    }, function(track){
      $("#uploadStatus").html("<a href='" + track.permalink_url + "' class='sclink'>" + track.permalink_url + "</a>");        
$.ajax({
type: "POST",
url: "MYPATHGOESHERE/record.php",
data: {
  url: track.permalink_url,
  name: track.name
}
});
    });
    }
});

アップロードが完了すると、新しいトラックへの URL が別の PHP ページに送信され、soundcloud トラックの URL を投稿コンテンツとする新しい WordPress 投稿が作成されます。以下のコードを参照してください

header ('Access-Control-Allow-Origin: *');

$parse_uri = explode( 'wp-content', $_SERVER['SCRIPT_FILENAME'] );
require_once( $parse_uri[0] . 'wp-load.php' );

// Create post object
  $my_post = array(
     'post_title' => 'My Appreciation',
     'post_content' =>
         $_POST["url"],
     'post_status' => 'publish'
);

// Insert the post into the database
wp_insert_post( $my_post );


$post_id = wp_insert_post($my_post);
$url = get_permalink( $post_id );
wp_redirect($url);
exit();

今、私が抱えている問題は、WordPress で作成されたばかりの新しい投稿をブラウザーで更新する必要があることですが、「XMLHttpRequest を読み込めません。null からの要求を作成できません。」というエラーが表示され続けます。

これを行う方法、またはphpのリダイレクトコードが間違っているかどうかについてのアイデアはありますか?

4

2 に答える 2

1

リダイレクトにヘッダーを使用

header('Location:http://yoururl.com');exit();
于 2012-09-23T07:57:58.143 に答える
0

AJAX 経由で呼び出される PHP スクリプト内でリダイレクトするのではなく、URL をエコーアウトしてみてください。次に、Javascript で AJAX 呼び出しの結果 (URL) を取得し、Javascript リダイレクトを実行します。

編集:

PHP コードを次のように更新します。

echo $url;
exit();

URL を取得してリダイレクトするように JavaScript コードを更新します。

$.ajax({
   type: "POST",
   url: "MYPATHGOESHERE/record.php",
   data: {
     url: track.permalink_url,
     name: track.name
   },
   success: function(data) {
       location.href = data;
   }
});
于 2012-09-22T08:25:35.440 に答える