JQuery Ajax-функция работает в IE, но не в FF - PullRequest
1 голос
/ 02 июня 2010

Хорошо, у меня есть этот вызов ajax

$('.updatecom .registercomplaint').click(function(){
    updatecomplaints();
});

Это вызывает функцию updatecomplaints ()

function updatecomplaints()
{
var tno = $(".updatecom #tno").val();
var status = $(".updatecom #status").val();
if(status=='DONE')
{
    $(".updatecom #con").val('');
}
var tname = $(".updatecom #tname").val();
var rg11 = $(".updatecom #crg11").val();
var rg06 = $(".updatecom #crg06").val();
var tvpins = $(".updatecom #tvpins").val();
var jointer = $(".updatecom #jointer").val();
var cquantity = $(".updatecom #conqty").val();
var nooftv = $(".updatecom #tvno").val();
var misc = $(".updatecom #misc").val();
var tcomments = $(".updatecom #tcomments").val();
var con = $(".updatecom #con").val();
//alert(tno+status+tname+rg11+rg06+tvpins+jointer+cquantity+nooftv+misc+tcomments+con);
$.ajax(
{
    type: "POST",
    url: "up_functions.php",
    data: "ticket="+ tno +"& opt=upcom" +"& status="+ status +"& tname="+ tname +"& rg11="+ rg11 +"& rg06="+ rg06 +"& tvpins="+ tvpins +"& jointer="+ jointer +"& cquantity="+ cquantity +"& nooftv="+ nooftv +"& misc="+ misc +"& tcomments="+ tcomments +"& con="+ con,
    success: function(response)
    {
        alert(response);

    }
});

}

вот мой up_functions.php

$tno = htmlspecialchars(trim($_REQUEST['ticket']));
        $status = htmlspecialchars(trim($_REQUEST['status']));
        $tname = htmlspecialchars(trim($_REQUEST['tname']));
        $rg11 = htmlspecialchars(trim($_REQUEST['rg11']));
        $rg06 = htmlspecialchars(trim($_REQUEST['rg06']));
        $tvpins = htmlspecialchars(trim($_REQUEST['tvpins']));
        $jointer = htmlspecialchars(trim($_REQUEST['jointer']));
        $cquantity = htmlspecialchars(trim($_REQUEST['cquantity']));
        $nooftv = htmlspecialchars(trim($_REQUEST['nooftv']));
        $misc = htmlspecialchars(trim($_REQUEST['misc']));
        $tcomments = htmlspecialchars(trim($_REQUEST['tcomments']));
        $con = htmlspecialchars(trim($_REQUEST['con']));
        $result=$ptr->upcomticketinfo($tno,$status,$tname,$rg11,$rg06,$tvpins,$jointer,$cquantity,$nooftv,$misc,$tcomments,$con);
        echo $result;

и вот моя функция upconticketinfo () php

function upcomticketinfo($tno,$status,$tname,$rg11,$rg06,$tvpins,$jointer,$cquantity,$nooftv,$misc,$tcomments,$con)
{
    if($con!='' || $con!=NULL)
    {
        $this->query = "update `booking discription` set `STATUS`='$status',`CLOSED ON`='$con' where `TICKET NO`='$tno'"; 
        $this->q_result = mysql_query($this->query,$this->conn) or die(mysql_error());
        if($this->q_result)
        {
            $query = "update `tech detail` set `TECH NAME`='$tname',`CABLE RG11`='$rg11',`CABLE RG06`='$rg06',`TV PINS USED`='$tvpins',`JOINTER USED`='$jointer',`CONNECTOR QTY`='$cquantity',`NO OF TV`='$nooftv',`MISC`='$misc',`TECH COMMENTS`='$tcomments' where `BOOKING`='$tno'"; 
            $q_result = mysql_query($query,$this->conn) or die(mysql_error());
            if($q_result)
            {
                $response = "updated";
            }
            else
            {
                $response = "error";
            }
        }
        else
        {
            $response = "error";
        }
    }
    else
    {
        $this->query = "update `booking discription` set `STATUS`='$status' where `TICKET NO`='$tno'"; 
        $this->q_result = mysql_query($this->query,$this->conn) or die(mysql_error());
        if($this->q_result)
        {
            $query = "update `tech detail` set `TECH NAME`='$tname',`CABLE RG11`='$rg11',`CABLE RG06`='$rg06',`TV PINS USED`='$tvpins',`JOINTER USED`='$jointer',`CONNECTOR QTY`='$cquantity',`NO OF TV`='$nooftv',`MISC`='$misc',`TECH COMMENTS`='$tcomments' where `BOOKING`='$tno'"; 
            $q_result = mysql_query($query,$this->conn) or die(mysql_error());
            if($q_result)
            {
                $response = "updated";
            }
            else
            {
                $response = "error";
            }
        }
        else
        {
            $response = "error";
        }
    }
    return $response;
}

Вопрос в том, что этот код работает очень хорошо в IE8, т.е. я использую ... но он не работает в FF3.6.3 ... Я проверил все n ... Все дело в том, что код хорошо работает и на FF, только когда я активирую отладчик firebug.В противном случае предупреждение в успехе AJAX проявляется ни с чем ... Помоги мне ...

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

если это не опечатка, это проблема ...

data: "ticket="+ tno +"& opt=upcom" +"& status="+ status +"& tname="+ tname +"& rg11="+ rg11 +"& rg06="+ rg06 +"& tvpins="+ tvpins +"& jointer="+ jointer +"& cquantity="+ cquantity +"& nooftv="+ nooftv +"& misc="+ misc +"& tcomments="+ tcomments +"& con="+ con

у вас есть дополнительное место после каждого & ....

и на вашем месте я бы сделал это так ...

$.ajax(
{
    type: "POST",
    url: "up_functions.php",
    data: {
           "ticket":tno,
           "opt":"upcom",
           "status":status,
           "tname":tname,
           "rg11":rg11,
           "rg06":rg06,
           "tvpins":tvpins,
           "jointer":jointer,
           "cquantity":cquantity,
           "nooftv":nooftv,
           "misc":misc,
           "tcomments":tcomments,
           "con":con 
    },
    success: function(response)
    {
        alert(response);

    }
});

было бы легче читать ...

0 голосов
/ 02 июня 2010

Каких данных вы ожидаете от сервера?

Попробуйте добавить

dataType: 'text'

к вашему запросу .ajax (), например.

Если это не проблема, дайте ответ Рейгеля. Я настоятельно рекомендую использовать

$.ajax({
  data: {
       ticket:   tno,
       opt:      upcom,
       status:   status,
       ...
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...