2015-09-13 4 views
2

Я пытаюсь опубликовать в Facebook API с помощью Javascript. Он хорошо работает, когда содержимое жестко закодировано в Javascript, но когда я собираю содержимое из текстового поля, введенного пользователем. Он выдает ошибку политики одного и того же происхождения:Публикация содержимого Facebook API с использованием Javascript

Здесь я делаю проводку.

 FB.api('/1494363804210145/feed', 'post', postData, 
     function(response) { 
      console.log(JSON.stringify(response)); 
      $("#status").val("Your Message as been posted!"); 
     }); 

Если PostData является hardset, он работает:

 var postData = { 
      message  : "TEST", 
      name   : "TEST", 
      from   : 'pageid', 
      access_token : pageAccessToken, 
      description : "TEST" 
     }; 

Если PostData динамична, она не работает:

 var postData = { 
      message  : $("#postMessage"), 
      link   : $("#postLink"), 
      picture  : $("#postImage"), 
      name   : $("#postTitle"), 
      from   : 'pageid', 
      access_token : pageAccessToken, 
      description : $("#postDesc") 
     }; 

Я не использую IFrame любого рода. Как это исправить?

+0

Проблема с кодом вы не извлечение значения или текста из этих селекторов, вы только назначение объекта значения ключей в виде 'JQuery selector' который будет возвращать' object'. Либо вы вызываете метод 'val()', если это элементы формы, либо 'html()/text()', если вы хотите получать контент из этих элементов. – Rayon

ответ

2

Вам необходимо добавить .val(). Прямо сейчас вы пытаетесь опубликовать jQuery object.

var postData = { 
    message  : $("#postMessage").val(), 
    link   : $("#postLink").val(), 
    picture  : $("#postImage").val(), 
    name   : $("#postTitle").val(), 
    from   : 'pageid', 
    access_token : pageAccessToken, 
    description : $("#postDesc").val() 
}; 
Смежные вопросы