js 和 php传值的问题

1 篇文章 0 订阅

壹。【js ☞ PHP】

做项目的时候,经常遇到前台js将数据通过$.get或者$.post以及$.call方法发送到指定的URL,后台php获取数据,进行处理:

//js代码:

function batch_setProblemAction()
{
	var orderids = select_check(); 
	var problems_desc = document.getElementById("problem_order_message").value;
	
	var params = "&act=multyProblemAction&order_ids="+orderids+"&problems_desc="+encodeURI(problems_desc);
	
	$.post('order.php?is_ajax=1'+params,{},function(data){
		if(data.content.actionState==0) {
			alert('批量设置问题单修改成功');
			$('#problems_orders_pops').hide();
			listTable.loadList();
		} else {
			$('#problems_orders_pops').hide();
		 	 $('#errorpop').show();
			 $('#error_body').html('批量设置问题单不成功,或许您选的订单已经是问题单!!!');
			 $("#close_show").click( function () { 
				 $('#errorpop').hide();
			 }); 
		}
	},'json');
	
}

//order.php

if($_REQUEST['act'] == 'multyProblemAction'){
	$problem_order_message = $_REQUEST['problems_desc'];
	$order_ids = $_REQUEST['order_ids'];
	
	$update_sql = "update order_info set how_oos='" . $problem_order_message .
	"' where process_status='0' and order_id in (" . $order_ids.")";
	
	$res=$GLOBALS['db']->query($update_sql);
	
	$order_ids=explode(",", $_REQUEST['order_ids']);
	$id_lenth=count($order_ids);
	$result = array ('actionState' => '9', 'order_id' => '' );
	
	for($i=0;$i<$id_lenth;$i++){
		$state = problemAction($order_ids[$i]);
	
		$action_note = empty($_REQUEST['action_note']) ? '' : $_REQUEST['action_note'];
		if($state==0)
		{
			update_order_updatetime($order_ids[$i]);//修改时间戳
			order_log_Action($order_ids[$i], '批量设为问题单', 'problem', $action_note.$problem_order_message);
			$result = array ('actionState' => $state, 'order_id' => $order_ids[$i] );
		}
	}	
	
	
	make_json_result ( $result );
	
	
}


在js中,如果不将传递的中文字符进行编码,近乎出现乱码的情况,在后台打印sql的时候,发现全是”???????|?????“的乱码,于是,采取了下面的方式:

var params = "&act=multyProblemAction&order_ids="+orderids+"&problems_desc="+encodeURI(problems_desc);



在php页面进行处理的时候,可以用函数urldecode()解码,但对于php,可以不用解码,直接使用,下面两种方式都正确:

方式一:

$problem_order_message = $_REQUEST['problems_desc'];


方式二:

$problem_order_message = urldecode($_REQUEST['problems_desc']);



贰。【PHP ☞ js】



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joyven2015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值