2012-07-02 1 views
0

Я хочу вызвать веб-сервис, используя закрытие Google, через jsonp, так как я выполняю междоменный webservice.Вызов веб-службы с использованием google-закрытий jsonp и отправка json в качестве параметра

И я зову его следующим образом

var url = "http://myurl/"; 
var jsonp = new goog.net.Jsonp(url); 
jsonp.send(
{"name":"jessi","action":"initaction","gameId":"123"}, 
callback, callbackfailed); 

Но в этом методе URL преобразуется в нормальной строке методы прибудет как следует

http://myurl/?name=jessi&action=initaction&gameId=123 

Но мне нужно отправить этот URL-адрес в качестве объекта json следующим образом: «имя»: «pari123», «action»: «initaction», «gameId»: «slotreel3»

Как я могу это сделать, я искал google, и я не смог найти соответствующую документацию относительно этого.

ответ

2

Функция goog.net.Jsonp.addPayloadToUri_, который используется для кодирования объекта говорит: {!} Объект

  • @param полезная нагрузка карта пар имя значение, которое будет кодироваться.
  • Значение может быть задано в виде массива, в этом случае параметр запроса
  • будет создана для каждого значения, например:
  • { «Foo»: [1,2]} будет кодировать «Foo = 1 & foo = 2 ".

Это именно то, что происходит. Итак, почему бы не инициализировать ваш URL с запросом? например

var url = "http://myurl.php?" + goog.json.serialize({"name":"jessi","action":"initaction","gameId":"123"}); 
var jsonp = new goog.net.Jsonp(url); 
jsonp.send() 

Невеста, но, возможно, это работает.

С уважением,

Рене

+0

ее не работает на самом деле я пытался это – raghul

+0

Какой URL (часть адреса запроса) вы бы хотели отправлено/принимается WebService? – rzeldent