在javascript / ajax

时间:2017-03-06 12:38:10

标签: javascript php jquery mysql

我有一个复选框的以下代码

<div class="switch switch-lg switch-primary">
<input type="checkbox" name="switch" data-plugin-ios-switch checked="checked" value="usersname:1" />
</div>

当我更改复选框时,会触发以下事件

<script>		
$('input[name="switch"]').on('change', function(){
	$.ajax({
		type: 'POST',
		url: 'page.php',
		data: {
			example: $('#example').val()
		}
	}).always(function(data, textStatus, jqXHR) {
		if (data.response == 'success') {
			// Success
		} else {
			// Error
		}
	});
});    
</script>  

我想知道如何在page.php中获取“usersname:1”的值?我猜它在example: $('#example').val()左右?

基本上page.php将更新一个值为1的mysql数据库,但仅限于该用户,因此我需要以某种方式拉出用户名:1​​在该脚本部分或page.php但不知道怎么称呼它。

提前致谢!

4 个答案:

答案 0 :(得分:1)

为了将数据发送到php,您必须修改代码行: data: { example: $('#example').val() }

为:

    data: {
        example: $('#example').val(),
        switch: $(this).val()
    }

代码最终成为:

$('input[name="switch"]').on('change', function(){
console.log($(this).val());
	$.ajax({
		type: 'POST',
		url: 'page.php',
		data: {
			example: $('#example').val(),
      switch: $(this).val()
		}
	}).always(function(data, textStatus, jqXHR) {
		if (data.response == 'success') {
			// Success
		} else {
			// Error
		}
	});
});   
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="switch switch-lg switch-primary">
    <input type="checkbox" name="switch" data-plugin-ios-switch checked="checked" value="usersname:1" />
    </div>

在PHP中,你可以使用$ _REQUEST ['switch']获得价值

答案 1 :(得分:0)

在复选框中添加id个属性。您无法在复选框中定义id属性。

<div class="switch switch-lg switch-primary">
<input type="checkbox" id="example" name="switch" data-plugin-ios-switch checked="checked" value="usersname:1" />
</div>

否则您可以将example: $('#example').val()更改为example: $(this).val()

答案 2 :(得分:0)

您可以通过example

获取page.php中的$_POST['example']

答案 3 :(得分:0)

好的,这是一个棘手的问题。

使用example: $('#example').val(),您将使用ÌDexample作为post var传递输入的VALUE(因此您可以在结束脚本中使用$ _POST [“example”]捕获它。事情是,任何人都可以将任何东西放入其中并编辑其他用户名。

你应该通过使用userid或类似的东西调用$ _SESSION变量来做到这一点,这样人们就不会篡改数据或制作一些XSS。

所以,如果您想要使用它,只需将ID示例放入您的输入中它就可以工作(或编辑它以匹配您的字段),但我建议找到另一种方式。