3

これらは私の呼び出しパラメータです

$.post('checklogin_is.php', data, handleAjaxResponse, 'text');

コールバック関数は次のとおりです。

function handleAjaxResponse(data) {
   if($.trim(data)=='yes') 
      {
         //some more code 
      }
    else 
      {
         if($.trim(data)=='no')
            {
               //some code      
            }
         else
            {
               //some code
            }
          }         
        }

ご覧のとおり、checklogin_is.php は「yes」または「no」のいずれかを返します。しかし、代わりに「はい」または「いいえ」の先頭に余分な空白があるため、if ステートメントで評価されるデータを取得できません。

回避策として使用$.trim(data)していますが、この余分な空白が発生する理由と、これを修正する他の方法があるかどうかを知りたいです。前もって感謝します

phpコード:

<?php session_start();

require_once('D:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\is-c.php');

$un = htmlspecialchars($_POST['usnm'],ENT_QUOTES);
$unp = $_POST['usnmp'];

$query_lg = "SELECT * FROM incm_s WHERE s_un='".$un."'";

$user_row = $isdb->get_row( $query_lg, ARRAY_A);

if($user_row['s_id'] > 0)
{
    if(strcmp($user_row['s_pd'],$unp)==0)
    {
        $_SESSION['un_is']=$user_row['s_un']; 
        $_SESSION['utype_is']=$user_row['s_type'];
        echo 'yes';
    }
    else
        echo 'no'; 
}
else
    echo 'no'; 
?>
4

1 に答える 1

1

Make sure there is no whitespace in the file before <?php session_start();; this would not only be echoed, but will also break your session.

Another thing to try is checking to see if any included files (e.g. "is-c.php") have whitespace outside of any PHP tags. Note that you can leave off any closing PHP tags at the end of files to make sure there are no newline characters being echoed.

于 2012-09-23T00:52:07.157 に答える