我正在尝试从Symfony2返回JSONP。我可以很好地返回常规的JSON响应,但JSON响应类似乎忽略了我的回调。
$.ajax({
type: 'GET',
url: url,
async: true,
jsonpCallback: 'callback',
contentType: "application/json",
dataType: 'jsonp',
success: function(data)
{
console.log(data);
},
error: function()
{
console.log('failed');
}
});
然后在我的控制器中:
$callback = $request->get('callback');
$response = new JsonResponse($result, 200, array(), $callback);
return $response;
我从这里得到的响应总是常规的JSON。无回调包装。
Json响应类如下:
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/JsonResponse.php
发布于 2012-10-01 17:55:06
就像医生说的那样:
$response = new JsonResponse($result, 200, array(), $callback);
您将回调方法设置为$headers
参数。
因此,您需要:
$response = new JsonResponse($result, 200, array());
$response->setCallback($callback);
return $response;
发布于 2012-10-01 17:57:07
JsonResponse
的构造函数不接受回调参数。你需要通过方法调用来设置它:
$response = new JsonResponse($result);
$response->setCallback($callback);
return $response;
https://stackoverflow.com/questions/12670803
复制相似问题