javascript
  • php
  • jquery
  • ajax
  • 2017-04-02 104 views 0 likes 
    0

    我试图制作一个聊天程序,但我坚持可能是最简单的方面的PHP。 我在app.js

    var msg = "123"; 
    $.post('index.php', {send: msg}); 
    

    下面的代码和index.php文件

    <?php 
    switch($_SERVER['REQUEST_METHOD']) 
    { 
        case 'GET': 
         echo "<script type='text/javascript'>alert('GET');</script>"; 
         break; 
    
        case 'POST': 
        $msg = $_POST['send']; 
        echo "<script type='text/javascript'>alert('POST');</script>"; 
    
    } 
    ?> 
    

    下面的代码只提醒我,加载页面时,我收到了“GET”请求。每当我在app.js中调用$ .post函数时,都不会发生任何事情。我不知道服务器是否存在问题,或者如果我的index.php文件链接了请求中的错误?

    回答

    2

    问题是,jquery $.post函数将发送请求到网站,但然后将不会神奇地显示网站输出 - 如果你不告诉它做的东西与来自调用的输出赢得了'不要做任何事情。

    得到它的输出从网站的响应,尝试做这样的事情:

    var msg = "123"; 
    
    $.post('index.php', {send: msg}, function(response) { 
        alert(response); 
    }); 
    

    这提供了一个回调功能jQuery的POST请求,指示其如何处理从响应网站。

    jQuery post documentation

    Example

    +0

    在PHP情况下POST回波假定运行JavaScript。它工作onload的情况下“GET”,一般情况下,如果我只是把回声你是说如果我在$ .post()调用期间回声它不会添加JavaScript,而是将响应发送回$。后()? –

    +1

    jQuery的'.post'调用以异步的方式向网站发送响应,并且不会将浏览器重定向到页面。它在后台执行它,然后从服务器读取响应并将其传递到回调函数中进行处理。 这是jQuery处理其处理的方式,而不是服务器处理它的方式。如果您使用普通的HTML发送了POST请求,则您将获得与GET请求相同的JavaScript响应。在这个例子中,你会在函数内部得到一个响应,并且可以在那里写入额外的javascript。 – CynePhoba12

    相关问题