2013-10-25 3 views
-1

это javacript и ajax не знаю, что такое ошибка, я попробовал это без ajax, но с ajax не работал.мои данные не сохраняются в базе данных с помощью ajax

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"> 
</script> 
<script type="text/javascript" > 
$(function() { 
$(".submit").click(function() { 
var name = $("#User_Name").val(); 
var email = $("#User_Email").val(); 
var mobno = $("#User_Email").val(); 
var landlineno = $("#user_MobileNo").val(); 
var proprTd = $("#propertyids").val(); 
var dataString = 'User_Name='+ name + 'User_Email=' + email + 'User_Email=' + mobno + 'user_MobileNo=' + landlineno + 'propertyids=' + proprTd; 

if(name=='' || email=='' || mobno=='' || landlineno=='') 
{ 
$('.success').fadeOut(200).hide(); 
$('.error').fadeOut(200).show(); 
} 
else 
{ 
$.ajax({ 
type: "POST", 
url: "SaveContactDetails.php", 
data: dataString, 
success: function(){ 
$('.success').fadeIn(200).show(); 
$('.error').fadeOut(200).hide(); 
} 
}); 
} 
return false; 
}); 
}); 
</script> 

это HTML код не знаю, что это ошибка я пытался это без AJAX его работы, но с AJAX не работает.

<form method="post" name="form" > 
<input type="hidden" name="propertyid" id="propertyids" value="<?php echo $Propid ?>" > 
       <input id="individual" name="rdoiam" value="individual" type="radio" class="input-38-ieo"> 
       Individual 
       <input id="Agent" name="rdoiam" value="individual" type="radio" class="input-38-ieo"> 
       Agent 
       <input id="builder" name="rdoiam" value="individual" type="radio" class="input-38-ieo"> 
       Builder <span id="ReqTypeErrorDiv12968081_left" class="span-41-ieo"></span> </li> 
       <li class="li-42-ieo"> 
       <label class="label-43-ieo">Name<span class="span-37-ieo">*</span></label> 
       : 
       <input type="text" id="User_Name" name="User_Name" maxlength="30" class="input-45-ieo11"> 
<input type="text" class="input-276-ieo11" id="Mobileno" name="user_MobileNo" maxlength="12"> 
<input type="text" class="input-276-ieo11" id="userLandlineno" name="userLandlineno" maxlength="12"> 
</form> 

и это PHP файл

<?php 
    include 'config.php'; 

    $iam =""; 
    $User_Name=""; 
    $User_Email=""; 
    $user_MobileNo=""; 
    $user_LandlineNo=""; 
    $txtMessage=""; 
    if (isset($_POST['rdoiam'])) 
{ 
$iam =$_POST['rdoiam']; 
} 

     if (isset($_POST['User_Name'])) 
{ 
    $User_Name=$_POST['User_Name']; 
} 
     if (isset($_POST['User_Email'])) 
{ 
    $User_Email=$_POST['User_Email']; 
} 
     if (isset($_POST['user_MobileNo'])) 
{ 
    $user_MobileNo=$_POST['user_MobileNo']; 
} 
      if (isset($_POST['userLandlineno'])) 
{ 
$user_LandlineNo=$_POST['userLandlineno']; 
} 
if(isset($_POST['txtMessage'])) 
{ 

    $txtMessage=$_POST['txtMessage']; 
} 


    $Propid=$_POST['propertyid']; 




     $iam =trim($iam); 
    $User_Name=trim($User_Name); 
    $User_Email=trim($User_Email); 
    $user_MobileNo=trim($user_MobileNo); 
    $user_LandlineNo=trim($user_LandlineNo); 
    $txtMessage=trim($txtMessage); 


$str="Call sp_SaveContactDetails('".$iam."','".$User_Name."','".$User_Email."','".$user_MobileNo."','".$user_LandlineNo."','".$txtMessage."','".$Propid."')"; 

    // $sql=mysql_query($str); 
    if(!mysql_query($str)) 
{ 
die('Error:'.mysql_error()); 
} 
else 

{ 







    } 
    ?> 
+1

Добавить обработчик ошибок в AJAX вызова, это срабатывает. Устанавливать точки клюва, это значения, которые вы ожидаете? – epascarello

+0

@ user2092317, это неверно ... – epascarello

+0

Вы не указали '&' в своей строке данных, как я уже сказал в своем ответе ... – Legionar

ответ

0

У вас не хватает & в строке данных:

var dataString = 'User_Name='+ name + 'User_Email=' + email + 'User_Email=' + mobno + 'user_MobileNo=' + landlineno + 'propertyids=' + proprTd; 

Он должен быть:

var dataString = 'User_Name='+ name + '&User_Email=' + email + '&User_Email=' + mobno + '&user_MobileNo=' + landlineno + '&propertyids=' + proprTd; 

Вот почему его не отправляя надлежащие данные, так как вы хотеть. Конечно, вы можете сериализовать все свои данные ...

Также вы должны использовать encodeURIComponent, потому что если пользователь добавляет & или =, ваша строка будет сломана.

-1
var dataString = 'User_Name='+ name + 'User_Email=' + email + 'User_Email=' + mobno + 'user_MobileNo=' + landlineno + 'propertyids=' + proprTd; 

То есть не так, как вы строите строку запроса

Строка выглядит User_Name=nameUser_Email=email...., вам не хватает & между собой. Также вы должны использовать encodeURIComponent, потому что если пользователь добавит & или =, ваша строка будет сломана.

Посмотрите на jQuery serialize() он делает все это для вас.

+1

спасибо большое @Legionar и epascarello u сохранили мое время. – dvirus

+0

как я могу опубликовать все данные на php. – dvirus

+0

Добро пожаловать. @epascarello просто отредактируйте его ответ и скопируйте с моей, что вы не хватает '&', LOL ... – Legionar

-1

Или просто используйте функцию serialize, вы используете jQuery в любом случае.

$("form").on("submit", function(event) { 
    event.preventDefault(); 
    var formData = $(this).serialize(); 

    $.ajax({ 
    type: "POST", 
    url: "SaveContactDetails.php", 
    data: formData, 
    success: function(){ 
     $('.success').fadeIn(200).show(); 
     $('.error').fadeOut(200).hide(); 
    } 
    }); 
}); 

Перед отправкой ajax вы всегда можете добавить свою проверку.

-1

Вы можете использовать этот

<script> 
     $(function() { 
      $('form#person').on('submit', function(e) { 
       $.ajax({ 
        type: 'post', 
        url: 'show.php', 
        data: $('form').serialize(), 
        success: function (data) { 
         alert(data); 
        } 
       }); 
       e.preventDefault(); 
      }); 
     });  
    </script> 
Смежные вопросы