相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

XML中的<![CDATA []]>是什么意思?

我经常CDATAXML文件中找到这个奇怪的标签:

<![CDATA[some stuff]]>
Run Code Online (Sandbox Code Playgroud)

我观察到这个CDATA标签总是在开头,然后是一些东西.

但有时它被使用,有时则不然.我假设它是标记some stuff那将在之后插入的"数据".但是什么样的数据some stuff呢?我在XML标签中写的东西不是某种数据吗?

xml cdata

970
推荐指数
10
解决办法
119万
查看次数

PHP相当于.NET/Java的toString()

如何将PHP变量的值转换为字符串?

我正在寻找比用空字符串连接更好的东西:

$myText = $myVar . '';
Run Code Online (Sandbox Code Playgroud)

就像ToString()Java或.NET中的方法一样.

php string

542
推荐指数
14
解决办法
150万
查看次数

客户端和服务器端编程有什么区别?

我有这个代码:

<script type="text/javascript">
    var foo = 'bar';
    <?php
        file_put_contents('foo.txt', ' + foo + ');
    ?>

    var baz = <?php echo 42; ?>;
    alert(baz);
</script>
Run Code Online (Sandbox Code Playgroud)

为什么这不会在我的文本文件中写入"bar",但警告"42"?


注意:此问题的早期修订明确是关于服务器上的PHP和客户端上的JavaScript.问题和解决方案的本质是相同的任何对当一个客户端上运行的语言和其他服务器上.当你看到有关特定语言的答案时,请考虑到这一点.

javascript php server-side client-side

471
推荐指数
3
解决办法
4万
查看次数

将PHP字符串传递给JavaScript变量(并转义换行符)

编码PHP字符串以输出到JavaScript变量的最简单方法是什么?

我有一个PHP字符串,其中包括引号和换行符.我需要将此字符串的内容放入JavaScript变量中.

通常,我只是在PHP文件中构建我的JavaScript,àla:

<script>
  var myvar = "<?php echo $myVarValue;?>";
</script>
Run Code Online (Sandbox Code Playgroud)

但是,当$myVarValue包含引号或换行符时,这不起作用.

javascript php newline escaping

375
推荐指数
7
解决办法
31万
查看次数

在JavaScript中按名称读取cookie的最短函数是什么?

在JavaScript中读取cookie的最短,准确和跨浏览器兼容的方法是什么?

通常,在构建独立脚本(我不能拥有任何外部依赖项)时,我发现自己添加了一个用于读取cookie的函数,并且通常会回退到QuirksMode.orgreadCookie()方法(280字节,216缩小).

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

它完成了这项工作,但它的丑陋,每次都增加了相当多的膨胀.

jQuery.cookie使用这样的方法(修改,165字节,125缩小):

function read_cookie(key)
{
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不是"Code Golf"竞赛:我有理由减少readCookie功能的大小,并确保我的解决方案有效.

javascript cookies

180
推荐指数
9
解决办法
18万
查看次数

如何将JavaScript变量传递给PHP?

我想使用表单中的隐藏输入将JavaScript变量传递给PHP.

但我不能得到的价值$_POST['hidden1']$salarieid.有什么不对?

这是代码:

<script type="text/javascript">
    // View what the user has chosen
    function func_load3(name) {
        var oForm = document.forms["myform"];
        var oSelectBox = oForm.select3;
        var iChoice = oSelectBox.selectedIndex;
        //alert("You have chosen: " + oSelectBox.options[iChoice].text);
        //document.write(oSelectBox.options[iChoice].text);
        var sa = oSelectBox.options[iChoice].text;
        document.getElementById("hidden1").value = sa;
    }
</script>

<form name="myform" action="<?php echo $_SERVER['$PHP_SELF']; ?>" method="POST">
    <input type="hidden" name="hidden1" id="hidden1" />
</form>

<?php
   $salarieid = $_POST['hidden1'];
   $query = "select * from salarie where salarieid = ".$salarieid;
   echo $query;
   $result = mysql_query($query);
?> …
Run Code Online (Sandbox Code Playgroud)

javascript php variables

136
推荐指数
9
解决办法
50万
查看次数

将PHP数组传递给JavaScript函数

我试图将PHP数组变量放入JavaScript变量中.

这是我的代码:

<html>
    <head>
        <script type="text/javascript">
              function drawChart(row,day,week,month,date)
              {
                  // Some code...
              }
        </script>
    </head>

    <body>
        <?php
            for($counter = 0; $counter<count($au); $counter++)
            {
                switch($au[$counter]->id)
                {
                    case pageID.'/insights/page_active_users/day':
                        $day[] = $au[$counter]->value;
                    break;
                    case pageID.'/insights/page_active_users/week':
                        $week[] = $au[$counter]->value;
                    break;
                    case pageID.'/insights/page_active_users/month':
                        $month[] = $au[$counter]->value;
                    break;
                }
            }
        ?>
        <script>
            drawChart(600/50, '<?php echo $day; ?>', '<?php echo $week; ?>', '<?php echo $month; ?>', '<?php echo createDatesArray(cal_days_in_month(CAL_GREGORIAN, date('m',strtotime('-1 day')), date('Y',strtotime('-1 day')))); ?>');
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我无法获得PHP数组的价值.

我该如何解决这个问题?

javascript php

121
推荐指数
4
解决办法
31万
查看次数

在PHP站点中避免xss攻击的最佳实践是什么?

我配置了PHP,以便启用魔术引号并关闭注册全局变量.

我会尽力为我输出的任何来自用户输入的内容调用htmlentities().

我偶尔也会搜索我的数据库,以获取xss附带的常用内容,例如......

<script
Run Code Online (Sandbox Code Playgroud)

我还应该做些什么,以及如何确保我要做的事情总是完成.

php security xss

65
推荐指数
6
解决办法
3万
查看次数

从外部javascript文件访问PHP var

我可以使用Javascript访问PHP var,如下所示:

<?php
    $fruit = "apple";
    $color = "red";
?>

<script type="text/javascript">
    alert("fruit: " + "<?php echo $fruit; ?>"); // or shortcut "<?= $fruit ?>"
</script>
Run Code Online (Sandbox Code Playgroud)

但是如果我想使用外部JS文件怎么办:

<script type="text/javascript" src="externaljs.js"></script>
Run Code Online (Sandbox Code Playgroud)

externaljs.js:

alert("color: " + "<?php echo $color; ?>");
Run Code Online (Sandbox Code Playgroud)

javascript php variables external

52
推荐指数
4
解决办法
7万
查看次数