【问题标题】:Returning a value from external php file for use in jQuery从外部 php 文件返回一个值以在 jQuery 中使用
【发布时间】:2014-08-11 15:36:21
【问题描述】:

所以我有一个文本类型的输入,用户可以在其中输入文本,当他们发布文本时,我使用 jQuery 的 prepend 方法将其发布到屏幕上,但在我让文本发布之前,我想要它在外部 PHP 文件中进行一些验证,但我没有太多运气来实现这一点。

jQuery 正在向 php 文件发送一个 POST,我在 php 文件中有一个带有已清理文本的变量,该变量已准备就绪 - 我只是不确定如何将值(最好以一种好的方式)返回给jQuery。

这是帖子:

$.post('ajaxPost.php', {'message' : msg}, function(){

    $('.messages').prepend(msg + '<br>');

});

感谢您的帮助!

【问题讨论】:

  • 您的ajaxPost.php 是否真的返回了一些价值?如果是这样,只需在您的回调中添加一个参数function(data)

标签: javascript php jquery ajax post


【解决方案1】:

你可以这样做:

$.post('ajaxPost.php', {'message' : msg}, function(data){
    $('.messages').prepend(data + '<br>');
});

在您的 ajaxPost.php 中,您必须返回要显示的文本。您可以像 echo $sanitized_message; 一样简单地回显它。

【讨论】:

    【解决方案2】:

    您可以在外部 php 脚本中回显响应并使用 get 而不是 post

    $.get('ajaxPost.php?message='+msg, function( data ) {
       $( ".someDiv" ).html( data );
       alert( "Load was performed." );
    });
    

    您可能需要在之前对消息进行 url_encode

    【讨论】:

    • 为什么要从 POST 改为 GET?你在哪里给encodeURIComponent()打电话?
    • 因为 get 请求可以被服务器缓存,我更喜欢 get 用于发送/检索数据,它不需要加密和额外的安全功能。正如我所提到的,他可能需要对他的信息进行编码以确保安全。下次请仔细阅读:)
    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 2012-05-15
    相关资源
    最近更新 更多