2015-09-28 44 views
2

這是針對socket.io的聊天網站,名爲cytu.be.我知道msg代碼是正確的。我猜ajax因爲某些原因在這裏不工作。我發現這個從github上的一些angularjs代碼的cors-server鏈接,認爲它可能工作。任何可能使這個鏈接工作? (警告:對不起,它有明確的色情詞語吧)無法通過json獲取與jquery一起工作的ajax請求

 if (msg.indexOf('$add ') === 0) { 
      term = msg.split('$add ')[1].split(","); 
      surl = 'http://cors-server.getup.io/url/api.redtube.com/?data=redtube.Videos.searchVideos&search='+term; 
      $.ajax({url: surl, 
       dataType: 'json', 
       success: function(data) { 
        console.log(data); 
        Data = JSON.parse(data.responseText), 
        socket.emit("chatMsg", { 
         msg: Data.videos[0].video.video_id 
        }); 
       } 
      }); 
     } 
+0

你看過瀏覽器控制檯嗎?是否有像交叉起源的錯誤? –

+0

感謝您的回覆。我從來沒有做過瀏覽器控制檯,但我認爲這是我正在尋找......混合內容:'https://cytu.be/r/PornLounge'頁面通過HTTPS加載,但要求一個不安全的XMLHttpRequest端點'http://cors-server.getup.io/url/api.redtube.com/?data=redtube.Videos.searchVideos&search=something'。此請求已被阻止;內容必須通過HTTPS.send提供服務@ jquery-1.11.0.min.js:3 – insanen

+0

我做了更正。我的錯誤消息現在是...未捕獲TypeError:無法讀取未定義的.ajax.success屬性'視頻'@ pornlounge.js?dl = 0&_ = 1443473155423:2602oe.Callbacks.c @ jquery-1.11.0.min.js :2oe.Callbacks.d.fireWith @ jquery-1.11.0.min.js:2n @ jquery-1.11.0.min.js:3oe.ajaxTransport.e.send.t @ jquery-1.11.0.min.js :3 ....的代碼....'$就({URL:SURL, \t \t \t \t數據類型: 'JSON', \t \t \t \t成功:功能(數據){ \t \t \t \t console.log(data); \t \t \t \t \t \t Data = data.responseText; \t \t \t \t \t \t socket.emit( 「chatMsg」,{ \t \t \t \t \t \t \t MSG:Data.videos [0] \t \t \t \t \t \t}); \t \t \t \t} \t \t \t \t});' – insanen

回答

0

如果要設置dataTypejson,你不需要再JSON.parse()響應,在jQuery會爲你進行解析。在你的情況,這意味着你需要改變這一行:

Data = JSON.parse(data.responseText), // note you also have typo here as this should be semicolon at end of line not a comma 

這樣:

Data = data.responseText; 

這是很難說,如果您有任何其他的問題(即CORS相關問題)爲你沒有在你的問題中發佈任何調試信息。這些問題應該肯定是固定的。