Dear Antonio I have a function attached to a button and I want to send data to the calling program.
function nextstep(){
var id;
var TableData = new Array();
$('#sampleTbl tr').each( function(row, tr){
$id = parseInt($(tr).find('td:eq(0)').text(), 10) + 1; TableData = TableData
+ "Task No."+ $(tr).find('td:eq(0)').text() + ': ' // Task No.
+ aArtNr[$id] + ' ' // Description
+ '\n';
});
window.location ="/booking_new/zusatz.prg?buchung=" + TableData ;
}
This is working and I get the data with ? STRTRAN(AP_Args(), "%20", " ")
How can I send these data that I can get it with hPairs := AP_PostPairs()
--------------------------------------------------------------------------------------
Antonio Linares 08:49 Uhr
use POST instead of GET
Otto 08:50 Uhr
can you please tell me where
I think this comes from js window.location ="/booking_new/zusatz.prg?buchung=" + TableData ;
do I have to make a form first
--------------------------------------------------------------------------------------
Antonio Linares 08:55 Uhr
$.post( "zusatz.prg", { one: "one", two: "two", three: "three", whatever: 123 } )
.done( function( data ) { console.log( 'DONE', data ); $( cResultId ).html( data ); } )
.fail( function( data ) { console.log( 'ERROR', data ); } );
second parameter is a JS object (JSON notation)
one: "one" etc are the pairs that you will get from AP_Postairs()
No need to create a form
You can send whatever you want just using a JS object
(JSON means: JS object notation)
in my case this is an array. can I send an array, too.
Antonio Linares 08:57 Uhr
yes
do you know it there is a sample in sample folder
Antonio Linares 08:58 Uhr
{ values: [ one: "one", two: "two", three: "three" ] }
arrays use [ ... ]
can be nested as in Harbour
always think in JSON terms
whatever data you need to move around... use JSON
$.post() sends the data as POST
________________________________________
Neue Nachrichten
Charly 09:03 Uhr
You can also try $.get(), the same but via GET
send data with post method
send data with post method
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: send data with post method
Andreu Botella 21:11 Uhr
@Otto The Jquery function $.post is an AJAX function, it doesn't reload the page.
If you want to get the result of the POST call, you have to add a listener callback and then do whatever with the result. (bearbeitet)
https://api.jquery.com/jQuery.post/
The signature is
jQuery.post( url [, data ] [, success ] [, dataType ] )
(jQuery.post is the same thing as $.post) (bearbeitet)
so you have to call it like this:
$.post(
"postpairs.prg",
{/* any POST data you want to pass to the prg */},
function (data) {
alert(data) // or something else
}
)
(bearbeitet)
Hope that helps
@Otto The Jquery function $.post is an AJAX function, it doesn't reload the page.
If you want to get the result of the POST call, you have to add a listener callback and then do whatever with the result. (bearbeitet)
https://api.jquery.com/jQuery.post/
The signature is
jQuery.post( url [, data ] [, success ] [, dataType ] )
(jQuery.post is the same thing as $.post) (bearbeitet)
so you have to call it like this:
$.post(
"postpairs.prg",
{/* any POST data you want to pass to the prg */},
function (data) {
alert(data) // or something else
}
)
(bearbeitet)
Hope that helps
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: send data with post method
Antonio Linares 08:49 Uhr
from the callback you jump to another page
$.post(
"postpairs.prg",
{/* any POST data you want to pass to the prg */},
function (data) {
location.href = "web page to go to";
}
)
from the callback you jump to another page
$.post(
"postpairs.prg",
{/* any POST data you want to pass to the prg */},
function (data) {
location.href = "web page to go to";
}
)
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: send data with post method
Dear Antonio,
thank you. Now I have a working sample with $.post()
There is a space in <s cript> otherwie you can not post the code here.
Best regards
Otto
post.prg
reqest.prg
DBF file
thank you. Now I have a working sample with $.post()
There is a space in <s cript> otherwie you can not post the code here.
Best regards
Otto
post.prg
Code: Select all
function Main()
TEMPLATE
<html>
<head>
<s cript src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></s cript>
<s cript>
$(document).ready(function(){
$("button").click(function(){
$.post(
"postpairstxt.prg",
{ one: "one", two: "two", three: "three", whatever: 123 } ,
function (data) {
location.href = "https://winhotel.space/modharbour_samples/posttest2.prg";
}
);
} );
});
</s cript>
</head>
<body>
<button>Send an HTTP POST request to a page and from the callback you jump to another page</button>
</body>
</html>
ENDTEXT
return nil
Code: Select all
REQUEST DBFCDX
REQUEST DBFFPT
function Main()
local hPairs := AP_PostPairs()
local cLog
cLog := ValToChar( hPairs )
USE ( hb_GetEnv( "PRGPATH" ) + "/logfile" ) SHARED NEW
APPEND BLANK
if RLock()
logfile->datum := Date()
logfile->text := cLog
logfile->user_time := time()
DbUnLock()
endif
USE
return nil
INIT PROCEDURE PrgInit
SET CENTURY ON
SET EPOCH TO YEAR(DATE())-98
SET DELETED ON
SET EXCLUSIVE OFF
REQUEST HB_Lang_DE
HB_LangSelect("DE")
SET DATE TO GERMAN
rddsetdefault( "DBFCDX" )
EXTERN DESCEND
RETURN
Code: Select all
local aFields := { { "TEXT", "C", 200, 0 },;
{ "DATUM", "D", 8, 0 },;
{ "USER_TIME", "C", 25, 0 },;
{ "CODE", "C", 4, 0 } }
DbCreate( "myfile.dbf", aFields, "DBFCDX" )
USE myfile.dbf NEW VIA "DBFCDX"
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************