如何设置XHR POST参数的动态URL?

时间:2012-03-08 03:03:08

标签: javascript jquery ajax

注意:请注意这个问题可能很愚蠢,因为我刚开始进行客户端开发。 我需要对通过JSONP检索的动态链接发出XHR POST请求。但是由于某些原因它不起作用。基本上POST URL“youtube_url_upload”变得未定义。

  xhr.open("POST", youtube_url_upload);
以下是代码段:

    var get_youtube_service_url ="http://video.example.com/youtubeupload?jsoncallback=?";   
    $.ajax({
            type: "GET",
            url:  get_youtube_service_url,
            dataType: "jsonp",
            cache : false,
            success: function(data) {

                // get youtube
            //  var y_url = data.url;

            var token =  data.token;
            var  youtube_url_upload = data.url + "?nexturl="+encodeURIComponent("http://selling.example.com/youtube.html");
            calltoken(token);

            uploadFile(youtube_url_upload);


            }
          });

     var bytesUploaded = 0;
      var bytesTotal = 0;
......
 function uploadFile(youtube_url_upload) {

      var xhr = new XMLHttpRequest(youtube_url_upload);        
        xhr.upload.addEventListener("progress", uploadProgress, false);
        xhr.addEventListener("load", uploadComplete, false);
        xhr.addEventListener("error", uploadFailed, false);
        xhr.addEventListener("abort", uploadCanceled, false);
        xhr.open("POST", youtube_url_upload);

        xhr.send(fd);

        intervalTimer = setInterval(updateTransferSpeed, 500);
      }
.....

1 个答案:

答案 0 :(得分:0)

成功回调将字符串作为“数据”,而不是对象
它可能是一个json所以使用

$.parseJSON ( data )