将 PHP 数组发送到 Javascript

发布于 2024-11-04 10:45:10 字数 498 浏览 1 评论 0原文

///////更新 - 我的代码中已经包含了 jquery 库,因此如果 jquery 比 javascript 更容易,请告诉我。

好的。这里有很多问题将 JavaScript 数组发送到 php,但只有 1 个与我的相同。不幸的是我不明白答案。

所以,目前我在 php 中有一个关联数组。然后我使用了这段代码,

echo json_encode($this->_inputErrors);

我实际上不知道为什么要使用它,只是在其他类似的例子中提到了很多。这样,然后将数据发送到 javascript(通过 ajax),如果我执行此代码,

alert(requestText);

我会得到一长行文本。正如我想象的那样。

那么我如何在 javascript 中将文本返回到数组呢?

或者有更好的方法来做到这一点吗?

非常感谢您抽出时间,

克里斯

///////UPDATE - I already have jquery library included to my code so if its easier with jquery than javascript let me know please.

OK. There are loads of questions on here that are sending a JavaScript array to php but only 1 which is the same as mine. Unfortunately I didn't understand the answer.

So, at the moment I have an associative array in php. I then used this code,

echo json_encode($this->_inputErrors);

I don't actualy know why i'm using it, just was mentioned a lot in other examples like this. So that then sends the data to javascript (via ajax) and if i do this code,

alert(requestText);

I get a long line of text. As I imagine i should.

So how do i then in javascript get the text back to an array?

Or Is there a better way to do this?

Many Thanks For Your Time,

Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

雨后彩虹 2024-11-11 10:45:10
var o = JSON.parse( requestText );

包括这个( https://github.com/douglascrockford/JSON-js/ blob/master/json2.js )以支持旧浏览器。

var o = JSON.parse( requestText );

Include this ( https://github.com/douglascrockford/JSON-js/blob/master/json2.js ) to support old browsers.

太傻旳人生 2024-11-11 10:45:10

requestText 是一个 JSON 字符串。您需要将字符串解析为对象。

您可以使用 JSON.parse 将字符串转换为 JSON。

var obj = JSON.parse(requestText);

如果您的浏览器没有 JSON,请添加以下内容:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

requestText is a JSON string. You need to parse the string into an object.

You can use JSON.parse to convert the string to JSON.

var obj = JSON.parse(requestText);

If your browser doesn't have JSON, include this:

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

匿名的好友 2024-11-11 10:45:10

您需要将返回类型设置为 JSON

或者如果使用 jQuery,您可以使用 jQuery 的方法 getJSON() 从 url 获取 JSON 对象

You need to set the return type as JSON

or if using jQuery, you can use jQuery's method getJSON() to get the JSON object from the url

在你怀里撒娇 2024-11-11 10:45:10

前几天,我遇到了同样的问题。检查我的解决方案:)

array.html

$(document).ready(function(e){

    //This array is where I'll receive the PHParray
    var js_array=new Array();

    $("#btn").click(function(e){
             $.ajax({
                type:    'POST',
                 url:     'vector.php',
                 cache:   false,
                 success: function(data){

                    js_array=data;
                   //I use this "for" to print each array item into a div called "data".
                    for(var i=0;i<js_array.length;i++){
                         $("#data").append("<p>"+js_array[i]+"</p>");
                    }

                 },
                 dataType: 'json'
             });                  
    });                    

});

vector.php

<?php

$array = array(1,2,3,4,5,6);

/*As you, I use "json_encode" to serialize the array
echo json_encode($array);

?>

我希望它能有所帮助(:

Somedays before, I faced the same problem. Check my solution :)

array.html

$(document).ready(function(e){

    //This array is where I'll receive the PHParray
    var js_array=new Array();

    $("#btn").click(function(e){
             $.ajax({
                type:    'POST',
                 url:     'vector.php',
                 cache:   false,
                 success: function(data){

                    js_array=data;
                   //I use this "for" to print each array item into a div called "data".
                    for(var i=0;i<js_array.length;i++){
                         $("#data").append("<p>"+js_array[i]+"</p>");
                    }

                 },
                 dataType: 'json'
             });                  
    });                    

});

vector.php

<?php

$array = array(1,2,3,4,5,6);

/*As you, I use "json_encode" to serialize the array
echo json_encode($array);

?>

I hope it can help (:

诗笺 2024-11-11 10:45:10

在 Javascript 中转换长行文本的最简单方法是使用 eval:

alert(eval('(' + requestText + ')'));

The simplest way to transform that long line of text in Javascript is using eval:

alert(eval('(' + requestText + ')'));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文