gpt4 book ai didi

javascript - AJAX post请求和字符串连接

转载 作者:行者123 更新时间:2023-11-28 15:53:05 24 4
gpt4 key购买 nike

我正在使用 jQuery/AJAX 来执行发布请求。我试图从第一个文本框中获取输入并将其与 url 连接并在第二个文本框中显示结果。例如,如果用户输入 asdf,ajax 函数将进行发布,结果将显示为 http://www.example.com/sdf/。我有两个问题,正如前面提到的,我有一个 ajax 函数,它正在执行 post 但没有结果在 html 中显示(它确实显示在 firebug 控制台中)。其次,如何将输入连接到 url 中。 Live Site

<script>
$(document).ready(function () {
var timer = null;
var dataString;

function submitForm() {
$.ajax({
type: "POST",
url: "/concatenate/index.php",
data: dataString,
dataType: "html",
success: function (data) {
$("#result").html(data);
}
});
return false
}
$("#input").on("keyup", function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 40);
var input = $("#input").val();
dataString = { input : input }
})
});
</script>
</head>
<body>

<h1>Enter a word:</h1>

<form action="create_entry.php" method="post">
Input: <input type="text" id="input" name="zipcode"></br>
Concatenated Result: <input type="text" id="result" name="location" value="http//www.example.com/ /" readonly></br>
</form>

最佳答案

我建议您将参数传递到 submitForm 中,而不是使用全局变量来存储数据。

要进行串联,可以使用 .data() 方法存储输入的原始值,并始终获取该值,然后将新值添加到其中。

 <!-- remove extra space and "/" -->
<input type="text" id="result" name="location" value="http//www.example.com/" readonly>

$(document).ready(function () {
var timer = null;
/* cache $("#result") and store initial url value*/
var $result=$("#result");
$result.data('url',$result.val());

function submitForm( input ) {
$.ajax({
type: "POST",
url: "/concatenate/index.php",
data: {input:input},
dataType: "html",
success: function (data) {
/* new value from stored url and new user input*/
var url=$result.data('url'),
newUrl= url+data;
/* use val() not html() */
$result.val(newUrl);
}
});
return false
}


$("#input").on("keyup", function() {
/* no point using "$("#input")" to search DOM again when already have "this"*/
var input = $(this).val();
clearTimeout(timer);
timer = setTimeout(function(){
submitForm(input) ;
}, 40);


})
});

关于javascript - AJAX post请求和字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com