0

私のajaxには次のコードがあります:

function setList(str){
    var postDatas = decodeURI($('#form'+str+'').serialize());
    alert(postDatas);
    // $('#crm-feedback').html('<img src="images/ajax-loader.gif"/>');
    $.ajax({
        url: 'somewhere/setEmail.php',
        type: 'POST',
        //dataType : "json",
        data: postDatas,
        success: function(data){
            // $('#crm-feedback').html('Saved!').css('color','green');
            alert("test");
        }       
    });

}

postDatas値は"email_id[]=1&email_id[]=2&test=asd"

私のフォームには、名前の配列を持つ複数選択がありますname="email_id[]"

今、私の問題は、ajax リクエストを成功させることができないようであり、この問題の嘘の原因を特定できないことです。

ajax リクエストが送信されたかどうかを確認できるように、setEmail.php でいくつかのセッションをセットアップします。

<?php
require_once("Con/st.php");
session_start();
$_SESSION["thisistessss"] = "hello";
if($_POST){
    $email_success=0;
    $nochanges=1;

    $sql_clr = " DELETE FROM table WHERE grp_id = '".$_POST['gid']."' ";
    $res_clr = mysql_query($sql_clr);
    $_SESSION["testagain5"] = $_POST['email_id'];
    foreach($_POST['email_id'] as $key => $val) {
        $_SESSION["testagain31"] = "testsss".$val;

        $_SESSION["testagain3"] = "testsss".$_POST['dval'];

        if($val!='' && $_POST'dval']!='') {
        $_SESSION["testagain4"] = "testsssss".$_POST'dval'];
            //insert into database
            if(stristr($val,'-sms')==true){
                $val = str_replace("-sms","",$val);
                $sms_on = 1;
            }else{
                $sms_on = 0;
            }
            $sql_ins = " INSERT INTO table (grp_id, email_id, email_sched, sms) VALUES ('".$_POST['gid']."','".$val."','".$_POST'dval']."', '".$sms_on."') ";
            $res_ins = mysql_query($sql_ins);
            $_SESSION["testagain2"] = $sql_ins;
            if($res_ins){
                echo "1";
                $nochanges=2;
            }
        }
    }
    echo "1";

}else{
    echo "1";
}

?>

PSセッションはどれも設定されていません

ありがとうございました

4

2 に答える 2

1

私が取り組んでいるプロジェクトからこれを得ました:

HTMLで:

<input type="text" name="add[id_item]" />

PHPで:

$_POST["add"]["id_item"]

変数を配列として扱う必要があると思います。たぶん、これはどこに行くべきかについてのアイデアを与えるでしょう。何が得られるか試してみ$_POST['email_id'][0]てください。

于 2013-06-20T19:33:09.300 に答える
1

私はいつも次のような jQuery .ajax リクエストを行います:

$.ajax({
    url:'somewhere/setEmail.php?'+postDatas,
    success: function(result) {
        alert(result);
    }
});

そんな感じ。

setEmail.php で何か問題が発生している可能性があり、結果が得られないだけです...

于 2013-06-20T19:22:50.810 に答える