2013-03-03 81 views
1

每次我尝试提交我的表单时,它只返回“E”,只返回“E”,我不知道为什么会发生这种情况,谁能帮我解决这个问题?jquery不会将数字传递给php

我已经尝试了多种方法,我可以;吨似乎得到的结果应该返回

的Jquery:

 $('#edit_ok_btn').click(function(e) 
{ 
    e.preventDefault(); 
    $('#NoticeBox').hide("slide", { direction: "up" }, 500, function() { 
    $('#NoticeBox').show("slide", { direction: "up" }, 500); 
    $('#NoticeBox').removeClass() 
    $('#NoticeBox').addClass('Box_Working') 
    $('#noticeText').html("Processing page..."); 

    var formData = $('#EditorForm').serialize(); 
    submitWebPage(formData); 



    }); 
}); 

    function submitWebPage(formData) { 

$.ajax({  
    type: 'POST', 
    url: 'PageProcessor.php',  
    data : {'formdata' : formData}, 
    dataType: 'json', 
    cache: false, 
    timeout: 7000, 
    success: function(data) { 


    $('#NoticeBox').hide("slide", { direction: "up" }, 500, function() { 

     if(data.error == false) 
     { 
      $('#NoticeBox').show("slide", { direction: "up" }, 500); 
      $('#NoticeBox').removeClass() 
      $('#NoticeBox').addClass('Box_Success') 
      $('#noticeText').html(data.msg); 
      $('#PageEditor').fadeOut(1000); 

      $('#NoticeBox').delay(1000).hide("slide", { direction: "up" }, 500, function() { 
      location.reload(); 
      }); 



     } 
     else 
     { 
      $('#NoticeBox').show("slide", { direction: "up" }, 500); 
      $('#NoticeBox').removeClass() 
      $('#NoticeBox').addClass('Box_Error') 
      $('#noticeText').html(data.error); 
     } 

    }); 

    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown) { 

    $('#responder').removeClass().addClass('Box_Error').html('<p>There was an ERROR!<strong></p>'); 


    } 
}); 

PHP

$PageID   = $_POST['formdata']['EditID']; 
$PageTitle  = $_POST['formdata']['PageTitle']; 
$PageCategory = $_POST['formdata']['CategoryList']; 
$PageContent = $_POST['formdata']['elm1']; 
$PagePublished = $_POST['formdata']['PublishPageOption']; 

if($PageID == "NEW") 
{ 

mysqli_query("INSERT INTO Web_Pages (Title, HTML, Category, Last_Author, Edit_Date, Published) VALUES ('".$PageTitle."','". $PageContent."','".$PageCategory."','LUX','".date("Y-m-d")."','".$PagePublished."') "); 

     $return['error'] = false; 
     $return['msg'] = '<i>'.$PageTitle.'</i> has been created successfully.'; 
     echo json_encode($return); 
} 
else 
{ 
    mysqli_query("UPDATE Web_Pages SET Title = '".$PageTitle."', HTML = '".$PageContent."', Category = '".$PageCategory."', Last_Author='LUX', Edit_Date = '".date("Y-m-d")."', Published = '".$PagePublished."') WHERE ID = '".$PageID."' "); 

     $return['error'] = false; 
     $return['msg'] = '<i>'.$PageTitle.'</i> has been updated successfully.'; 
     echo json_encode($return); 
} 

paste-bin link to the source code

+0

请不要使用'mysql_'函数,因为它们不再被维护并且正在被弃用。 Google,PDO或Mysqli代替 – samayo 2013-03-03 01:03:17

+0

@PHPNooB,感谢您的提示,稍后我会对它进行一些研究! – LUX 2013-03-03 01:07:47

+0

将更新sql命令复制到phpmyadmin中,放入实际值,并查看它是否可以在那里使用。 – michi 2013-03-03 01:13:35

回答

2

您在UPDATE查询的末尾附近有一个),该查询不应该存在,很可能是您忘记编辑的复制/粘贴/编辑的结果。

+1

@kloink,谢谢我确实错过了!,但是这并不能解决值的问题。 – LUX 2013-03-03 01:06:32

0

我厌倦了这个错误!

data: 'formData', 

这将现在被视为字符串而不是一个变量

我猜你应该做这样的事情

data : {'formdata' : formData} 

从PHP你可以得到数据

$_POST['formdata']; 
+1

我很抱歉爆你的泡沫...但这也不管用,只是试过 – LUX 2013-03-03 02:43:56

+0

如果这没有解决你的问题..!那么你有一些其他问题.. cuz显然你从一开始就做错了所有的事情..使用print_r($ _ POST),并向我们展示出来..并尝试从'$ _POST [ 'formdata'] ['PageTitle']' – 2013-03-03 02:47:12

+0

所有的输出与该代码是“E”无论我输入它只是返回“E” – LUX 2013-03-03 03:09:03