Фиксированная версия решения Тобиаса Коэна. Это правильно обрабатывает значения фальши, такие как 0
и ''
.
jQuery.fn.serializeObject = function() {
var arrayData, objectData;
arrayData = this.serializeArray();
objectData = {};
$.each(arrayData, function() {
var value;
if (this.value != null) {
value = this.value;
} else {
value = '';
}
if (objectData[this.name] != null) {
if (!objectData[this.name].push) {
objectData[this.name] = [objectData[this.name]];
}
objectData[this.name].push(value);
} else {
objectData[this.name] = value;
}
});
return objectData;
};
И версия CoffeeScript для удобства кодирования:
jQuery.fn.serializeObject = ->
arrayData = @serializeArray()
objectData = {}
$.each arrayData, ->
if @value?
value = @value
else
value = ''
if objectData[@name]?
unless objectData[@name].push
objectData[@name] = [objectData[@name]]
objectData[@name].push value
else
objectData[@name] = value
return objectData
Вы создаете экземпляр Клиента, но похоже, что вы не являетесь явным с создаваемым классом. Попробуйте следующее:
$client = new \GuzzleHttp\Client(['base_uri' => 'http://api.tvmaze.com/']);
$res = $client->request('GET', '/schedule?country=US&date=2014-12-01');
return $res;
Сначала удалите пакет guzzle: composer remove guzzlehttp/guzzle
, затем выполните:
composer dump-autoload
, наконец, установите его:
composer require guzzlehttp/guzzle
Также убедитесь, что вы используете пространство имен guzzle:
use GuzzleHttp\Client;