繁体   English   中英

Java Applet的URLConnection与PHP无效

[英]Java Applet's URLConnection to PHP has no effect

我已经研究了Oracle文档和示例,但仍然无法正常工作。

我有一个Java Applet,它只是尝试使用URLConnection和OutputStreamWriter通过POST将文本字段发送到PHP脚本。 Java方面似乎工作正常,没有引发异常,但是PHP在我的页面上未显示任何输出。 我是PHP新手,因此请耐心等待。

这是相关的Java部分:

    try {
            URL url = new URL("myphpfile.php");
            URLConnection con = url.openConnection();
            con.setDoOutput(true);
            out = new OutputStreamWriter(con.getOutputStream());
            String outstring = "field1=" + field1 + "&field2=" + field2;
            out.write(outstring);

            out.close(); 

    }
    catch (Exception e) {
        System.out.println("HTTPConnection error: " + e);
        return;
    }

这是相关的PHP代码:

    <?php
            $field1= $_POST['field1'];
            $field2= $_POST['field2'];
            print "<table><tr><th>Column1</th><th>Column2</th></tr><tr><td>" .
                 $field1 . "</td><td>" . $field2 . "</td></tr></table>";
    ?>

我所看到的只是表标题Column1和Column2(让我们将这些名称保持通用性以进行测试)。 我究竟做错了什么? 我需要告诉我的PHP脚本检查Java代码何时写入吗?

不使用$ _POST,不使用$ _REQUEST或$ _GET

在PHP脚本中的哪里设置$ field1和$ field2?

试试URL url = new URL("myphpfile.php?field1=" + field1 + "&field2=" + field2);

好吧,我觉得我已经尝试了所有可以用PHP尝试的方法,所以我最终选择了JSObject 现在,这很容易。

工作的Java代码:

JSObject window = JSObject.getWindow(this);

// invoke JavaScript function
String result = "<table><tr><th>Column1</th><th>Column2</th></tr><tr><td>" 
+ field1 + "</td><td>" + field2 + "</td></tr></table>";
window.call("writeResult", new Object[] {result});

相关的工作Javascript:

function writeResult(result) {
        var resultElem =
            document.getElementById("anHTMLtagID");
        resultElem.innerHTML = result;
    }

从这里,我什至可以通过Ajax将Javascript的结果发送到PHP,以执行与数据库相关的操作。 好极了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM