Я хотел бы создать файл JavaScript для обмена данными JSONP.
Все хорошо, но мне нужно / хочу установить заголовок как:
header("Content-Type: text/javascript");
или же
header("Content-Type: application/javascript");
Возможно ли это в ответе контроллера в Laravel 4, или мне нужно создать представление и установить заголовок с помощью PHP?
Я хотел бы вывести что-то вроде:
var obj = JSON.parse('{"item1":"value1","item2":"value2"}');
// then do whatever with the object
$('#somediv').html(obj.item1);
заранее спасибо за помощь
Хорошо, похоже, я должен ответить на свой вопрос сам :-). Спасибо @terrylow за попытку.
Вот способ изменить заголовок моего ответа, используя мою функцию в контроллере
public function javascriptResponse(){
$statusCode = 200;
$content = "var obj = JSON.parse('{\"item1\":\"value1\",\"item2\":\"value2\",\"some\":\"whoaevaNew\"}');";
$response = Response::make($content, $statusCode);
$response->header('Content-Type', 'application/javascript');
return $response;
}
переменное содержимое также может быть заполнено видом:
$content = View::make('tools/jsonp_resonse'); // also possible with view
Надеюсь, что это поможет кому-то …
Вы можете использовать этот метод, предоставленный Laravel
return Response::jsonp($callback, $data,$status, $header);