我有一个php变量,其路径为value。我正在尝试将此url变量传递给javascript函数。
private function call_import_function($post_type,$fields,$fields_order,$upld_file)
{
$uploaded_file = $upld_file['file'];
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var formdata = {
'action': 'get_csv',
'post_type' : '<?php echo $post_type;?>',
'fields' : '<?php echo $fields;?>',
'fields_order' : '<?php echo $fields_order;?>',
'uploaded_file' : '<?php echo $uploaded_file;?>',
};
$.post('<?php echo $this->ajax_url;?>',formdata, function( data ) {
console.log("Begun!!!");
}).done(function( data ) {
var obj = jQuery.parseJSON(data);
if(obj.error)
{
$("#column2").html(obj.error_msg);
}
else
{
console.log(data);
//$("#column2").html(obj.output);
}
});
});
</script>
<?php
}
但它给了我一个错误,
SyntaxError: malformed hexadecimal character escape sequence
'uploaded_file' : 'E:\xampp\htdocs\nick\projectWed/wp-content/uploads/2'
我尝试过像json_encode这样的php函数,urlencode和$ url,但是没有它们为我提供了很好的解决方案。我需要解决这个错误...
答案 0 :(得分:1)
你有正斜杠和反斜杠。
$url = ''E:\xampp\htdocs\nick\projectWed/wp-content/uploads/2/3.csv'
应该是
$url = "E:\\xampp\\htdocs\\nick\\projectWed\\wp-content\\uploads\\2\\3.csv";
PHP字符串中需要双反斜杠。他们评估单反斜杠。这是为了消除它们与\ n(新行),\ t(制表符),\ 088(字符X)等转义序列的歧义。
答案 1 :(得分:0)
如果您遇到任何问题,请尝试并告诉我。
在php文件中
<?php
$url = "E:\xampp\htdocs\nick\projectWed/wp-content/uploads/2/3.csv";
?>
<script>
url = '<?php echo $url; ?>'
</script>
在js文件中
jQuery(document).ready(function(){
console.log( url );
});
答案 2 :(得分:0)
如果你有HTML代码
你可以在html中使用它。
<input type='hidden' value=<?=E:\xampp\htdocs\nick\projectWed/wp-content/uploads/2/3.csv?> name='url' id="url">
和脚本
<script>
var url=$("#url").val();
</script>
答案 3 :(得分:0)
只需将对象准备为php数组,然后将JSON编码
$url = $upld_file['file'];
$formdata = array(
'action' => 'get_csv',
'post_type' => $post_type,
'fields' => $fields,
'fields_order' => $fields_order,
'uploaded_file' => $url,
);
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var formdata = JSON.parse('<?php echo json_encode($formData);?>');
答案 4 :(得分:0)
使用addslashes,经过测试:
<?php
$url = addslashes('E:\xampp\htdocs\nick\projectWed/wp-content/uploads/2/3.csv');
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
var uploaded_file = '<?=$url?>';
alert("working fine: " + uploaded_file);
});
</script>