2010-03-23 3 views
2

при создании нового объекта qx.data.store.Jsonp как это ...qx.data.store.Jsonp: configureRequest не получает запрос в качестве параметра

var store = new qx.data.store.Jsonp(url, { 
    configureRequest: function(req) { 
    req.setParameter("key", "resources.appsrvs"); 
    } 
},"callback"); 

... делегат функции configureRequest не получите запрос как параметр, как описано в qx.data.storeInterface.IStoreDelegate. так как я могу настроить запрос?

ответ

1

Возможно, это связано с тем, что qx.data.store.Jsonp внутренне использует qx.io.ScriptLoader, для которого в документации указано EXPERIMENTAL – NOT READY FOR PRODUCTION.

Также вы не указали, какую версию qooxdoo вы используете. До 1.0.x я думаю, qx.data.store.Jsonp - это просто пустой заглушка.

Вызывается ли ваша функция вообще? Если да, то что он получает в качестве параметров?

И, наконец, рассмотрите вопрос о подаче отчета об ошибке.

+0

о, извините. Я использую 1.0.1, и он называется. см. другой ответ. – mika26

3

К сожалению, не так, как вы планируете. В хранилище Jsonp используется объект ScriptLoader, поскольку он предназначен для междоменных запросов. Таким образом, ваш делегат используется, но передаваемый ему объект «req» на самом деле является экземпляром qx.io.ScriptLoader. Дополнительную информацию см. В документе API для ScriptLoader, а также here.

Если вы не планируете выполнять кросс-доменный запрос, используйте вместо этого qx.data.store.Json.

+1

К сожалению, я планирую сделать запрос на перекрестный домен. Но я не нашел способ «req.setParameter» через «ScriptLoader». В качестве обходного пути я добавляю параметр путем конкатенации строки к url ​​(url + "? Key = resources.appsrvs"). Нехорошо, но работает. Поэтому мне нужно заботиться о том, чтобы убежать от меня. – mika26

 Смежные вопросы

  • Нет связанных вопросов^_^