0

環境: PH​​P 5.3.5 MySQL サーバー 5.5.8

ajax 呼び出しを介して php に送信する 3 つの変数があります。ユーザーが選択リストから 1 つ以上の値を選択した場合、そのうちの 1 つが配列になる可能性があります。

PHP への ajax 呼び出しを行う前に、jQuery でアラートの値を表示できます。

PHP 側で値を確認できないようです。エラーが発生し、「連絡先が挿入されていません」というメッセージが表示されるため、挿入に失敗しています。

ajax関数が呼び出される前に受け取る出力は次のとおりです。

handler= setStActivitySharing, stu_id=31, user_ids=3,5

データをラップしてphpに送信する方法が間違っていると思います。

ajax を呼び出す JavaScript は次のとおりです。

$("#btnSubmit").click(function (e)
      {


       var selectedOptions = $("#stActivityShareList").val();
       var handler = $("#handler").val();
       var stu_id = $("#stu_id").val();             
      //   $("#output").html("<b>You are sharing this file with: </b>" + selectedOptions);

       insertContactsForActivitySharing(handler, stu_id, selectedOptions);
 });

 function insertContactsForActivitySharing(handler, stu_id, selectedOptions)
{

  alert("handler="+handler +", stu_id="+ stu_id + ", selectOptions="+ selectedOptions);

  //IS THIS CORRECT?!?!?!?!
  var dataObject = JSON.stringify({
      handler: handler,
      stu_id: stu_id,
      selectedOptions:selectedOptions
  });

   $.ajax({
            type: "POST",
            url: "models/ajaxHandler.php",
            data: dataObject,
            datatype: "json",
            success: function(result){


                if (result !== null)
                {
                    alert(result);
                    //$("#output").html(result);
                    HideDialog(false);
                    e.preventDefault();              
                }

            },
            error: function(){
                alert("ajax failure: could not share activity the selected persons");
            }
       });
}

AjaxHandler.php は次のとおりです....

if(isset($_POST['handler']))
{
    $handler = $_POST['handler'];
    if (!empty($handler)){
        echo $handler;
       // processHandler($handler);
    }else{
        echo "Unable to complete the request: " + $handler+". ";
    }
}

ハンドラーをエコーし​​ようとしても、プロセス全体が停止します。私が ajax で渡している 3 つの変数が php に到達していることを確認したいのですが、ここに何か問題があると思います。誰でも私を助けることができますか?

4

2 に答える 2

0

var dataObject を削除し、ajax 呼び出しのデータを次のように割り当てました。

"handler="+handler+"&stu_id="+stu_id+"&selectedOptions="+selectedOptions

それは一歩後退ですが、うまくいったので文句は言いません:)

于 2013-09-17T13:17:11.767 に答える