2016-06-24 26 views
1

AJAXには本当に奇妙な問題があります。 これは、AJAXを介してPHPファイルへのparamsを送信JSコードとポスト方法を使用してファイルの断片である:Ajaxの成功関数が必要な命令で呼び出されない

var params = $('#add').serializeArray(); 
 

 
$.post('code/bg/adding_c.php', params, function(ret) { 
 
    //body of success function 
 
}, 'json');

、これはPHPコード(adding_c.php)の断片である:

<?php 
 
\t require "functions.php"; 
 
\t 
 
\t //irrelevant operations 
 
\t 
 
\t $return = array(
 
\t \t 'status' => $status, 
 
\t \t 'msg' => $msg, 
 
\t \t 'id' => $id 
 
\t); 
 
\t 
 
\t echo json_encode($return); 
 
?>

すべてがWHE作品n require命令で行をコメントしたり削除したりしますが、アクティブなときは成功関数は起動しません。

  1. JS postメソッドが正しいparamsを送信します。
  2. phpファイルはそれを受け取り、適切な操作を行い、正しいデータをjsスクリプトに返します(FireBugで見ることができます)。
  3. 成功関数は発生しません。

AJAXに関連しない説明がこの問題の原因ですか?

編集。

のfunctions.php:

<?php 
 

 
$host = 'localhost'; 
 
$user = 'root'; 
 
$pass = ''; 
 
$db = 'dbname'; 
 
$conn = new mysqli($host, $user, $pass, $db); 
 

 

 
function querySQL($query) 
 
{ 
 
\t global $conn; 
 
\t $result = $conn->query($query); 
 
\t return $result; 
 
} 
 

 
function cleanSQL($conn, $string) 
 
{ 
 
\t return htmlentities(fixSQL($conn, $string), ENT_COMPAT, 'UTF-8'); \t 
 
} 
 

 
function fixSQL($conn, $string) 
 
{ 
 
\t if(get_magic_quotes_gpc()) 
 
\t \t $string = stripslashes($string); 
 
\t 
 
\t return $conn->real_escape_string($string); \t 
 
} 
 

 
function fPassword($pass) 
 
{ 
 
\t $salt1 = 'salt1'; 
 
\t $salt2 = 'salt2'; \t 
 
\t $token = hash('ripemd128', "$salt1$pass$salt2"); 
 
\t 
 
\t return $token; 
 
} 
 

 
?>

EDIT2。

エラーはなく、functions.phpからindex.phpに関数を貼り付けると、すべて正常に動作します。私は今何をすべきかわかりません。ここでは言葉が問題であるようです。これらの機能を私が必要とするすべてのファイルに追加することはできません。

+0

あなたは 'functions.php'の内容は何ですか? –

+0

多くのファイルで使用するデータベースと関数との接続。私はそのコードを投稿することができますが、私はそれをadd_c.phpにコピーするとすべてが動作します。 –

答えて

0

functions.phpの間違いでしょうか。

EDIT:あなたのコードでこれらの行を使用して、php.iniファイルでdisplay_errors = Onを設定していない場合:

ini_set("display_errors", "1"); 
error_reporting(E_ALL); 

をまた、あなたはそれを構文解析/構文エラーではありません確信していますか?その場合は、あなたがやりたいだろうがいくつかあります:

  1. は、あなたが(たとえば、Netbeansの)構文をチェックIDEを使用していることを確認してください。そのような2に分離

  2. ファイル、:

のindex.php

<?php 
    ini_set("display_errors", "1"); 
    error_reporting(E_ALL); 
    include 'error.php'; 

エラー。PHP

require "functions.php"; 

//irrelevant operations 

$return = array(
    'status' => $status, 
    'msg' => $msg, 
    'id' => $id 
); 

echo json_encode($return); 

は、ブラウザウィンドウでこれを実行し、それはあなたが扱っているかのアイデアを与える必要があります。

+0

エラーはなく、functions.phpからindex.phpに関数を貼り付けると、すべて正常に動作します。私は今何をすべきかわかりません。ここでは言葉が問題であるようです。これらの機能を私が必要とするすべてのファイルに追加することはできません。こりゃ愉快だ。 –

関連する問題