我正尝试使用以下代码使用ajax对该文件进行调用
var text = '<?php echo urlencode("hello world"); ?>';
var dataTable = $("#datatable-pan").DataTable({
"ordering": false,
"searching": false,
"bProcessing": true,
"serverSide": true,
"ajax":{
url :'my_response.php?text='+text, // json datasource
type: "POST", // type of method ,GET/POST/DELETE
error: function(){
$("#employee_grid_processing").css("display","none");
}
},
});
这很好,但是如果我将var text的值更改为
var text = '<?php echo urlencode("hello 'world'"); ?>';
它不会继续并且不会调用文件 它显示类似xhr错误
答案 0 :(得分:1)
JS:
var text = encodeURIComponent('<?php echo urlencode("hello world"); ?>');
PHP:
$code = urldecode( $_POST['text']);
最后一个字符串:
var text = '<?php echo urlencode("hello \'world\'"); ?>';
答案 1 :(得分:0)
这很好,但是如果我将var text的值更改为
var text = '<?php echo urlencode("hello 'world'"); ?>';
它没有继续并且没有调用文件,它显示类似xhr错误
它不能那样工作。由于您的php脚本用单引号引起来,因此在语句中找到的下一个单引号将被视为指令的末尾,所有其他字符将被视为意外字符,尽管可能会引发SyntaxError
。
如果world
是变量,并且要显示其值,可以执行以下操作:
var text = '<?php echo urlencode("hello $world"); ?>';
或var text = '<?php echo urlencode("hello ".$world); ?>';
这将在JavaScript脚本中使用php起作用。您还可以使用\
通过以下方式转义引号:
var text = '<?php echo urlencode("hello \'world\'"); ?>';
在这里,单引号将被视为要编码的字符串的一部分,而不是限制符。