将嵌套数组从PHP传递到Java servlet

vin*_*ine 0 javascript php java jquery servlets

我有一个数组$标签,我打印使用:

foreach($tags as $t) {
                echo $t['token'] . "/" . $t['tag'] .  " ";
        }
Run Code Online (Sandbox Code Playgroud)

我怎样才能将这个$标签传递给Java servlet,所以在Java程序中我可以像在PHP脚本中一样使用foreach$t['token']$t['tag']

我假设必须使用POST方法完成,是否也可以使用GET?

更新
了json_array:

$js_array = json_encode($tags);
echo "var javascript_array = ". $js_array . ";\n";
Run Code Online (Sandbox Code Playgroud)

哪个回报:

var javascript_array = [{"token":"test","tag":"NN"},{"token":"1","tag":"NN"}];
Run Code Online (Sandbox Code Playgroud)

我试图通过使用以下方法将其传递给servlet:

<script src="http://code.jquery.com/jquery-1.10.1.min.js">

$( document ).ready(function() {
    alert('ok');

                $.ajax({
                    url : "http://localhost:8080/first/SPARQL",
                    type: "POST",
                    data: $js_array,                  
                    dataType: "json", 
                    async: false,
                    success: function (){
                        alert( "succes");},
                        error: function(){
                            alert("false");
                        }
                });

});
</script>
Run Code Online (Sandbox Code Playgroud)

但是,它既不返回"成功"或"假".它显示"确定"警报.PS我正在通过Eclipse和Tomcat 8运行java servlet.php文件在我的Wamp localhost上.我可以在浏览器中访问该URL.
此外,似乎我不能在我用PHP制作的javascript中使用$ js_array,它说它没有设置.

更新:在Chrome控制台中,它说:

    XMLHttpRequest cannot load http://localhost:8080/first/SPARQL.
 No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost' is therefore not allowed access.
jquery-1.10.1.min.js:6 x.ajaxTransport.sendjquery-1.10.1.min.js:6 x.extend.ajaxresultaat.php?nlquery=Dit+is+een+eerste+tekst:20 
(anonymous function)jquery-1.10.1.min.js:4 
x.Callbacks.cjquery-1.10.1.min.js:4 
x.Callbacks.p.fireWithjquery-1.10.1.min.js:4 x.extend.readyjquery-1.10.1.min.js:4 q
Run Code Online (Sandbox Code Playgroud)

补充:response.addHeader("Access-Control-Allow-Origin", "*");在servlet中.错误现在消失了,但它仍然响应错误,因为我无法访问javascript里面的PHP $ js_array?称$ js_array未设置.

Dra*_*ony 6

最简单的方法是将其序列化为JSON并在servlet中反序列化.在PHP中,使用json_encode()对Java端的任何JSON库进行编码和解码