- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个模态,其中包含表格中的一些数据以及每行旁边的单选按钮。每次我单击该单选按钮时,单击按钮后相应的数据将存储在数组中。现在,我在将变量从 javascript 传递到 Controller 时遇到问题,该 Controller 是数组的第 6 个索引。
根据我的研究,大多数解决方案都是使用ajax。我已经在 Controller 中尝试了所有可能的代码,但似乎没有收到任何内容。我在 ajax 调用中发送的数据未到达 Controller 。这是我的 Twig 文件:
<button type="button" id="selectrow" class="btn btn-primary pull-right btn-spacing">Select</button>
$(document).ready(function () {
$('#selectrow').click(function () {
var data = selected[6];
jQuery.ajax({
url: "project/edit/",
type: "GET",
data: { "data": data },
success: function (data) {
alert("OK");
},
error: function (data) {
alert("fail");
}
});
});
选定的变量是我分别在文件中的某个位置存储选定数据的位置。下面是我的 Controller ,我尝试显示以下内容,但输出均为空。
public function editAction(Request $request) {
if ($request->isXmlHttpRequest()) {
dump($request->getContent());
}
dump($request->request->get('data'));
dump($request->query->get('data'));
}
我真的很困惑,因为单击按钮后它会警告“确定”,但是数据没有发送到 Controller 。有人可以帮我弄这个吗?我们将不胜感激,谢谢。
这是我得到的输出:
最佳答案
这里的问题是您刷新页面,这意味着您调用 Controller 时根本没有任何数据
。在此之前发生的事情是 jQuery 调用您的 editAction
方法并等待永远不会出现的响应,因为您在 Controller 中没有返回任何内容,这是奇怪的,因为您应该收到一个错误说 Controller 应该返回一个响应
。
那么你必须采取什么方法来确保 Controller 从jQuery
接收数据
:
转储
和死亡
:
public function editAction(Request $request) {
if ($request->isXmlHttpRequest()) {
dump($request->getContent());
}
dump($request->request->get('data'));
dump($request->query->get('data'));
die(); // terminate the current script
}
返回响应中的data
并在jQuery
的success
中处理它:
在 Controller 中:
return new JsonResponse($request->request->get('data'));
jQuery 的成功:
$(document).ready(function () {
$('#selectrow').click(function () {
var dataSend = selected[6];
jQuery.ajax({
url: "project/edit/",
type: "GET",
data: { "data": dataSend },
success: function (data) {
console.log(data...);
if(data == dataSend) console.log("equivalent");
},
error: function (data) {
alert("fail");
}
});
});
我不知道data
变量是什么类型。如果它只是一个字符串或数字,您只需 console.log(data)
即可在浏览器控制台中输出该值。
如果有效,请发表评论...
关于javascript - 如何将变量从 javascript 传递到 symfony2 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45834761/
我是一名优秀的程序员,十分优秀!