我有用于URL缩短的PHP函数(如goo.gl或bit.ly),它返回带有echo的缩短链接。我想将返回的链接放入输入而不刷新页面(变量在PHP中)。
我知道这有点难以理解:
我的代码:
ptr = string;
vs.
memcpy(ptr, string, sizeof(string));
答案 0 :(得分:3)
Ajax非常适合这种情况。假设您有输入,用户粘贴它 - 您正在侦听该输入的值更改。一旦发生这种情况,您可以获取该输入的值并将其发布到http://example.com/your-shortern.php
或将链接作为参数发布。
一旦它运行,它将通过该回波返回,你的ajax成功函数将获取该数据并将其设置为输入中的值。
https://jsfiddle.net/rzan9hdr/3/就是一个例子(SUPER SIMPLE)
对于那些稍后来到这里的人来说,最后的解决方案是使用按钮点击来触发ajax https://jsfiddle.net/rzan9hdr/5/
答案 1 :(得分:1)
如果您想回显页面上的新网址,则需要刷新页面。
或者,您可以允许用户将URL输入到输入字段或其他内容,然后使用ajax调用将URL发送到您的服务器,让您的服务器确定新URL并将其发送回客户端。由于您要更改服务器的状态,因此请使用POST请求而不是GET请求(请参阅https://en.wikipedia.org/wiki/Idempotence)。也许像以下那样......
$('#input1).change(function(){
$.POST( "yourserver.php", {oldURL:$( "'#input1t" ).val()}, function( newURL ) {
$( "'#input1t" ).val(newURL); //Might need to do something to prevent another change event
});
});
yourserver.php
<?php
shortUrl($_POST['oldURL'])
function shortUrl($url)
{
//Your posted code
}