Javascript 这篇文章正确吗?
我试图在我的CakePHP操作中发布一个变量数组,以便编辑它们。数组是根据表行的ID构建的。下面是index.ctp文件中的javascript代码Javascript 这篇文章正确吗?,javascript,ajax,cakephp,Javascript,Ajax,Cakephp,我试图在我的CakePHP操作中发布一个变量数组,以便编辑它们。数组是根据表行的ID构建的。下面是index.ctp文件中的javascript代码 <script type="text/javascript"> $('.edit_selected').click(function() { var selected = new Array(); alert('Edit Selected Has Been Clicked'); $("#[id*=LocalClo
<script type="text/javascript">
$('.edit_selected').click(function()
{
var selected = new Array();
alert('Edit Selected Has Been Clicked');
$("#[id*=LocalClocks]").each(function()
{
if(false != $(this).is(':checked'))
{
selected.push($(this).attr('id').replace('LocalClocks', ''));
$.ajax({
type: 'POST',
url: "/localhost/LocalClocks/editSelected/",
data: JSON.stringify(selected),
dataType: "json",
success: function(data){ alert(data); alert('Edit Success'); }
});
}
});
});
</script>
我试图发布数据的原因是,我需要能够获取要编辑的行的ID。我在每一行中都有复选框,上面的javascript可以获取这些复选框并将其放入数组中。我需要能够循环该数组并将用户输入保存到它们。如果服务器端代码接受JSON,则需要将
contentType:“application/JSON”
添加到传递给ajax
方法的文本对象中。现在,它是与默认的应用程序/x-www-form-urlencoded
一起发送的。除此之外,您的代码看起来很可靠
datatType
用于返回数据,contentType
是如何传递请求数据的。如何判断我的服务器端代码是否接受JSON?有内置的功能吗?如果不是,那么我的代码不支持JSON,因为我没有编写任何代码来支持JSON。我不熟悉CakePHP,所以我不确定它如何绑定请求数据。我这样回答的原因是,您似乎正在发送JSON,如果您明确需要发送JSON,我假设您会这样做,如果您确实需要发送JSON,则需要指定contentType。如果我是你,我会先尝试添加上面的contentType。如果这不起作用,请将其删除,并将选定的格式化为文本对象,例如{“Key”:“Value”}
。我将contentType添加到数据类型正上方的ajax调用中。(我想)它还是不起作用。如果ajax是正确的,那么我可以在我的操作中获取这些信息。感谢您对ajax的帮助。我无法执行文字对象,因为数组正在动态填充。
public function editSelected()
{
$this->set('isEditSelValid', false);
$this->set('editSelValidationErrors', false);
if ($this->request->is('post'))
{
$localClocksEntries = $this->LocalClock->find('all');
foreach($localClocksEntries as $LocalClock)
{
$this->LocalClock->id = $LocalClock['LocalClock']['id'];
$this->LocalClock->save($this->request->data);
$this->set('isEditSelValid', true);
$this->set('editSelValidationErrors', false);
}
}
}