2015-12-09 2 views
1
 var table = $('#accessRequest').DataTable({ 
      "dom": 'Blfrtip', 
      "ajax": "Editor-PHP-1.5.1/php/editor-serverside.php", 
      "columns": [ 
       { //special column for detail view 
        "className": 'details-control', 
        "orderable": false, 
        "data": null, 
        "defaultContent": '' 
       }, 
       { data: "DT_RowId", 
        render: function (data) { 
         return data.replace('row_', ''); 
        } 
       }, 
       { data: null, 
        render: function (data, type, row) { 
         // Combine the first and last names into a single table field 
         return data.first+' '+data.last; 
        } 
       }, 
       { "data": "phone" }, 
       { "data": "responsibleParty" }, 
       { "data": "email" }, 
       { "data": "building" }, 
       { "data": "typeOfWork" }, 
       { "data": "startTime" }, 
       { "data": "endTime" }, 
       { "data": "description" }, 
       { "data": "dockNeeded" }, 
       { "data": "numPeople" }, 
       { "data": "numTrucks" }, 
       { "data": "requestPlaced" }, 
       { "data": "updatedAt" }, 
       { "data": "approved" }, 
       { "data": "approvedBy" }, 
       { "data": "approvedAt" }, 
       { "data": null } 
      ], 
      "aoColumnDefs": [ 
       { 
        "aTargets": [-1], 
        "mData": null, 
        "mRender": function (data, type, full) { 
        return '<button id="ApprovalButton" onclick="$.post(\'extra.php\', \'approve_request\')" action="extra.php" method="post"> Process </button>'; 
       //Send post request 
        } 
       } 
      ], 
      "order": [[1, 'asc']], 
      select: true, 
      buttons: [ 
       { extend: "create", editor: editor }, 
       { extend: "edit", editor: editor }, 
       { extend: "remove", editor: editor } 
      ] 
     }); 

У меня есть строка кода (выше), в которой я создаю таблицу, которая содержит информацию. В строке, которая говорит «// отправьте почтовый запрос», я пытаюсь сделать так, чтобы кнопка прямо над ним отправила почтовый запрос в отдельный файл под названием «extra.php», и, несмотря на то, что я сделал, это удалось.Как отправить запрос на отправку PHP-элемента

Я пробовал использовать кнопку отправки в форме ввода, но это не сработало. Я пробовал много разных вещей, но я не могу заставить его работать. Любая помощь будет оценена по достоинству.

Существует уже файл (extra.php), который способен получать почтовый запрос и действовать на него, как только он его получил. Я пытаюсь создать кнопку в HTML на странице, чтобы при нажатии «утверждать_реквест» сообщения в файл «extra.php»

Извините, я новичок в кодировании и на этом сайте, возможно, что-то простое что я не делаю.

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 

<?php 
header('Access-Control-Allow-Origin: *'); 
$id = intval($_POST['id']); 

$con = mysql_connect("RequestAccess.db.10160035.hostedresource.com","RequestAccess","[email protected]"); 
if (!$con){ 
    die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("RequestAccess", $con); 

//if action sent is approve set request as apporved 
if(isset($_POST['approve_request'])){ 
    $sql = "UPDATE AccessRequests 
      SET approved='1', approvedAt=current_timestamp 
      WHERE AccessID='" . $_POST['approve_request']."'"; 

    $results = mysql_query($sql); 
} 
//else action sent must be for child rows so populate child row 
else { 
} 

Это раздел, ответственный за обработку почтового запроса, если это помогает.

+1

вам нужно будет возвращать форму '<форма метода =«сообщение»действие =«extra.pgp»><входной тип =«отправить»имя =«отправить»значение =«отправить»>' что если ваш js работает нормально, я должен признать, что ваш запрос ajax находится вне меня !! – futureweb

+0

Использование этого вместо этого перенаправляет страницу в файл «extra.php», а не отправляет на нее. Спасибо, несмотря ни на что! –

+0

Помогло бы, если бы я загрузил файл «extra.php», чтобы люди могли видеть, что я имею в виду? –

ответ

0

Прежде всего, некоторые браузеры блокировать отправку запросов с JS, так что добавьте это в верхней части вашего PHP кода

header('Access-Control-Allow-Origin: *'); 

Теперь вы можете отправить запрос без проблем.

$.post(url ,{ 
     postItem1 : postValue1, 
     postItem2: postValue2 
     //You have to define postItem1 and 2 in your PHP code -> $_POST["postItem1"] -> this will return postValue1 
    }, function(data, status){ 
     //success 
    }).fail(function() { 
     //failed 
    }); 
+0

Это помогло немного, спасибо. Тем не менее, у меня возникают проблемы с этим, когда нажата кнопка «Процесс», она отправляет запрос на отправку. –

+0

write document.getElementById ("your-element-id"). InnerHtml + = ' '; // Отправить запрос на отправку – babaelmo