使用jQuery在MVC上传输数据的最佳方式
Best way to transport data on MVC using jQuery?
我有一个收件箱,里面有来自客户的内部消息。当我点击列表上的名称我请求使用jQuery $.ajax
所以:
$.ajax({
url: 'messages/retrieve/' + client_id,
}).done( function(data) {
$('.messages-dialog').html(data);
});
我的控制器应该返回一个json数据变量?我知道它应该将它转储到视图中,我应该在那里处理它但如果是客户端,该怎么做呢?
我不知道是否更好的处理和创建html结构到控制器,而不是只是加载它在。messages-dialog与jQuery.html();
对不起,我对这个问题有点困惑。
您可以使用jQuery.ajax()方法,如上例所示。也可以查看官方文档中的示例http://api.jquery.com/jquery.ajax/.
除此之外,你可以使用jQuery.get()和jQuery.post()方法,这取决于你要发送的方式和内容。您可以如下所示使用这些方法:
var url = 'messages/retrieve/' + client_id;
$.post( // for example
url,
function( data ) {
$('.messages-dialog').html(data);
});
请参阅官方文档中的示例:http://api.jquery.com/get/, http://api.jquery.com/jQuery.post/。
服务器处理程序应该如下所示:
use JsonResponse; // you must specify the exact component (I use this)
/**
* Change message in dialog // for example
*/
public function changeDialogMessageAction(Request $request) {
// request data processing
$response = new JsonResponse();
$response->setData(array(
// new data for returning to client
));
return $response; // your data, which will be handled in callback
}
不应该在控制器中创建HTML结构。这是糟糕的风格!JavaScript有异步事件模型,您应该使用它。控制器必须处理/转换数据,这些数据由你传递然后返回。jQuery回调必须在DOM中嵌入接收到的处理/转换数据
相关文章:
- 在页面上记录数据并实现pushstate()的最佳方式
- 操作数据的最佳实践
- 以角度渲染表中数据的最佳方式
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 将数据绘制到C3的最佳实践
- 在我的代码中管理大量硬编码数据的最佳方法
- Ext JS - 将面板绑定到数据存储的最佳方法
- 将数据从视图传输到javascript的最佳方式
- 本地存储web数据的最佳实践
- 在线/离线数据更新移动最佳实践
- angularjs设计模式和从服务器获取数据的最佳实践
- AngularJS中使用ajax获取数据的最佳方式是什么
- Spring MVC与Google图表,创建javascript数据表的最佳方式是什么
- 更新视图和控制器之间的角度重复数据值的最佳方式是什么
- 在定期更新的 Angular 中存储和使用数据的最佳方式
- 从 Angular.js 视图中修改方法中的数据的最佳做法
- 显示具有 MVC 数据绑定视图模型 ASP.NET JQuery 对话框的最佳方式
- 当数据超过 5k 时,为动手提供条件格式的最佳方法
- 形成数据最佳实践