ajax 相关问题

AJAX(异步JavaScript和XML)是一种通过客户端和服务器之间的异步数据交换来创建无缝交互式网站的技术。 AJAX有助于与服务器进行通信或部分页面更新,而无需传统的页面刷新。

选择2“无法加载ajax结果”

抱歉,找不到解决方法。 每当我尝试进行一些搜索时,select2 都会显示“无法加载结果”。 我认为我的 ajax 设置有误 HTML: 抱歉,找不到解决方法。 每当我尝试进行一些搜索时,select2 都会显示“无法加载结果”。 我认为我的ajax设置是错误的 html: <select class="js-data-example-ajax form-control" multiple="multiple"></select> 剧本: $(".js-data-example-ajax").select2({ ajax: { url: '@Url.Action("LoadCity", "Addresses")', dataType: 'jsonp', delay: 250, data: function(params) { return { q: params.term, // search term page: params.page }; }, processResults: function(data) { return { results: data }; }, cache: true }, minimumInputLength: 1, }); 添加 08.07.2016 一些更改ajax设置: dataType: 'jsonp' 到 dataType: 'json' 并添加 type: 'GET', 现在没有消息“无法加载结果”,也没有结果 根据你最后的评论。处理结果应返回一个具有结果键的对象。 所以应该是: return { results: [{id: 1, text: 'Test'}] } 我最近在使用 4.0.5 版本时遇到了完全相同的问题 这是从版本 4.0.6 开始解决的组件中的一个已知错误 来自 Github 官方仓库: 修复 AJAX 数据源错误#4356 更新我的本地版本的 select2 组件解决了这个问题。 我有这个工作 select2,我昨天已经实现了它,它可能对你有帮助。 select2_common('.accounts','Account & Description'); function select2_common(selector,placeholder) { $(selector).select2({ minimumInputLength:2, placeholder:placeholder, ajax: { url: "your_url_here", dataType: "json", delay: 200, data: function (params) { return { q: params.term, // search term page: params.page }; }, processResults: function (data) { // console.log(data); return { results: $.map(data, function(obj) { if(obj.id!=0){ // console.log(obj); return { id: obj.id, text: obj.name }; } else {return {id: obj.id, text: obj.name}} }) }; }, cache: true }, debug:false }); } //And your result should be in this form, from your method.... //I am using laravel php framework. public function getAccountDetail(Request $request) { $q = $request->input('q'); $result=[]; if (isset($q) && $q != '') { /*---------- Search by account code or title ----------*/ $data = DB::table('acc_accounts')->select('acc_id','acc_code','acc_title') ->where('acc_code', 'like', '%' . $q . '%') ->orWhere('acc_title', 'like', '%' . $q . '%') ->limit(10)->orderBy('acc_code')->get(); foreach ($data as $key => $value) { $new1 = array('id' => $value->acc_id, 'name' => $value->acc_code.' ('.$value->acc_title.')' ); array_push($result,$new1); } print(json_encode($result)); } }

回答 0 投票 0

在另一个 [jquery, ajax, codeigniter] 中访问一个函数的数据

我想使用ajax将选定的属性添加到我的表单中的子类别字段。 如何从功能 edit_book 访问数据以便我可以在外面使用它? 我试图找到几个小时的解决方案没有...

回答 0 投票 0

使用 bootstrap modal 和 ajax 在 laravel 10 中使用外键插入数据

我有两个表“档案”和一个“档案”的“仓库”我们有多个“仓库”,我创建了一个带有引导模式的表格来插入一个新的“仓库”......

回答 0 投票 0

使用 Jquery Ajax 将文件上传到 Laravel 后端

我有一个 Laravel 应用程序,它有一个使用 Ajax 调用提交数据的表单,提交的数据由 Laravel 后端处理。一切都适用于文本数据,但我需要添加一个文件上传...

回答 0 投票 0

AJAX 请求总是返回让我的 php 脚本返回 NULL 值的 GET 方法,为什么会这样?

我正在构建一个具有输入表单的网页,我不希望提交按钮重新加载页面,因此我需要使用 AJAX 请求才能将输入发送到我的 SQL 数据库。然而当我...

回答 0 投票 0

如何在 javaScript 的 dropzone 插件中获取产品图像 ID

如何在 java 脚本的 dropzone 插件中获取产品图像 ID 这是我的 html 代码: 如何在 java 脚本中的dropzone 插件中获取产品图片 ID 这是我的html代码: <input id="input_product_id" type="hidden" value="<?php echo $_GET['product_id'] ?>"> 此代码在foreach php中,用于多个图像: <label class="btn btn-xs btn-icon btn-circle btn-white btn-hover-text-primary btn-shadow js-update-photo-product" data-toggle="modal" data-target="#exampleModalSizeXl" data-action="change"> <i class="la la-refresh icon-md text-muted"></i> </label> 而且这个模态也是out of foreach : <div class="modal fade" id="exampleModalSizeXl" tabindex="-1" role="dialog" aria-labelledby="exampleModalSizeXl" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered modal-xl" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">update photo</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <i aria-hidden="true" class="ki ki-close"></i> </button> </div> <div class="modal-body"> <div class="dropzone dropzone-default dropzone-danger dz-clickable" id="update_photo_product"> <div class="dropzone-msg dz-message needsclick"> <i class="flaticon-upload display2 mb-1"></i> </div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-light-danger font-weight-bold" data-dismiss="modal">close</button> </div> </div> </div> </div> 这是我的JavaScript代码: <script type="text/javascript"> $('#update_photo_product').dropzone({ url: "/requests/PhotoProductRequest.php", paramName:"photo_product", maxFiles: 1, maxFilesize: 1, addRemoveLinks: false, acceptedFiles: "image/*", params:{ product_id: $('#input_product_id').val(), action: "update_photo_product" }, accept: function (file, done){ done(); }, error: function (file, resp) { let response = JSON.parse(resp); if (file.previewElement) { file.previewElement.classList.add("dz-error"); if (typeof response !== "string" && response.message) { response = response.message; } for (let node of file.previewElement.querySelectorAll( "[data-dz-errormessage]" )) { node.textContent = response; } } }, }); </script>

回答 0 投票 0

AJAX 发送文件到服务器

如何在不刷新页面的情况下将文件从本地存储发送到服务器?我的网页: 该算法如下: 输入名字; 录制音频(最长 20 秒)。录制的音频是 .wav 和...

回答 0 投票 0

我们可以使用 ajax 和 laravel 显示与 mysql 匹配的数据表行吗

公共功能搜索(请求$request){ $search=array(); $new_customer=New_Customer_M::orderByDesc('id')->where('first_name','like','%'.$request->search.'%')->get(); foreach($new_custome...

回答 0 投票 0

如何使用 Ajax 更新服务器中的 json 文件

我想将额外的数据放入我的 Json 文件 var eng = { “eng”:{ “q1”:{ “问题”:“AI的缩写是什么……

回答 0 投票 0

带有 Csrf 保护的 Ajax 在 codeigniter 3.1.9 中显示 403 被禁止

我在通过带有 csrf 保护的 ajax 向控制器发送请求时遇到问题。它总是给出 403 禁止的错误。在本地主机和实时服务器上也面临这个问题。使用

回答 1 投票 0

我正在尝试获取 JSON 数据成功响应,但出现错误

我需要为每条成功发送的消息获取 JSON 响应。我可以成功发送短信,但无法从 send_sms.php 收到成功消息 我需要为每条成功发送的消息获取 JSON 响应。我可以成功发送短信,但无法从 send_sms.php 收到成功消息 <!-- index.php ---> <div id="responce"></div> <!-- respond sms sending --> <form method="POST" onclick="return false"> <div class="form-group"> <label>Your Message</label> <textarea class="form-control" rows="4" cols="100" id="message" name="message" maxlength="70" required></textarea> </div> <button class="btn btn-primary" type="submit" name="submit" onmousedown="start_sendig();" class="btn">Send</button> </form> //sendsms_button.js function start_sendig() { $("#responce").html("Please wait sending on process"); var message = $("#message").val(); var path_uri = "sms/send_sms.php"; $.ajax({ type: "POST", url: path_uri, data: { message: message, }, success: function (data) { var json = $.parseJSON(data); if (json.response == "success") { $("#responce").html( "Message Sent Successfully to " + json.current + " !!" ); } else { $("#responce").html("Error to Sent " + json.current + " !!"); } }, }); } Ajax 显示此错误 caught SyntaxError: Unexpected end of JSON input at Function.parse [as parseJSON] (<anonymous>) at Object.success (sendsms_button.js:13:20) at i (jquery-3.2.1.min.js:2:28017) at Object.fireWith [as resolveWith] (jquery-3.2.1.min.js:2:28783) at A (jquery-3.2.1.min.js:4:14035) at XMLHttpRequest.<anonymous> (jquery-3.2.1.min.js:4:16323) <?php //send_sms.php include ("vendor/autoload.php"); include ("../config.php"); //insert record $msg_sms = $_POST['message']; mysqli_query ($con, "insert into sent_sms (message) values ('$msg_sms')"); if (isset($_POST['submit'])){ //select numbers $result = mysqli_query($con, "SELECT mphone FROM members"); while ($row = mysqli_fetch_array($result)){ $numbers = $row['mphone']; foreach (explode("+", $numbers) as $phone) { $basic = new \Vonage\Client\Credentials\Basic("fxxxxx", "xxxxxxxxxxxxx"); $client = new \Vonage\Client($basic); $response = $client->sms()->send( new \Vonage\SMS\Message\SMS($phone, 'Hotel', $msg_sms) ); $message = $response->current(); if ($message->getStatus() == 0) { $data = array( "response" => "success", "current" => '+' . $phone ); echo json_encode($data); } else { echo "<script>alert('The message failed with status: " . $message->getStatus() . "');</script>"; } } } } ?> 我的目标是显示每条成功消息,例如发送到 +125332626 成功 回声echo json_encode($data);在循环中它会产生问题..将它保存在一个数组中然后在循环后回显整个数组 return <script> 这不是一个好主意.. 好的方法是将错误作为编码 json 返回,然后在 ajax 成功函数上检查它 -First 我们假设您的 php 代码和 mysql 连接工作正常.. -Second 在你的ajax中你需要添加dataType : "json".. -第三您还需要检查isset($_POST['message'])而不是isset($_POST['submit']) function start_sendig() { $("#responce").html("Please wait sending on process"); var message = $("#message").val(); var path_uri = "sms/send_sms.php"; $.ajax({ type: "POST", url: path_uri, dataType : "json", // <<<<<<<<<<<<<<< data: { message: message, }, success: function (data) { if(data.error){ // <<<<<<<<<<<<<<< console.log(data.error); }else{ console.log(data); } }, }); } 在 php 中 mysqli_query ($con, "insert into sent_sms (message) values ('$msg_sms')"); if (isset($_POST['message'])){ //select numbers $result = mysqli_query($con, "SELECT mphone FROM members"); $returned_JSON = []; //<<<<<<<<<<<<<<<<<<<<<<< while ($row = mysqli_fetch_array($result)){ $numbers = $row['mphone']; foreach (explode("+", $numbers) as $phone) { $basic = new \Vonage\Client\Credentials\Basic("fxxxxx", "xxxxxxxxxxxxx"); $client = new \Vonage\Client($basic); $response = $client->sms()->send( new \Vonage\SMS\Message\SMS($phone, 'Hotel', $msg_sms) ); $message = $response->current(); if ($message->getStatus() == 0) { $data = array( "response" => "success", "current" => '+' . $phone ); $returned_JSON[] = $data; //<<<<<<<<<<<<<<<<<<<<<<< } else { $returned_JSON['error'] = $message->getStatus(); //<<<<<<<<< } } } echo json_encode($returned_JSON); //<<<<<<<<<<<<<<<<<<<<< } ?> 注意: 在使用 ajax 时有很多原因会出错。我给了你一些代码作为指导,让你知道如何思考和编码它。但是你必须检查 ajax/php逐步连接以确切知道什么有效,什么无效。

回答 1 投票 0

使用 AJAX 填充基于下拉菜单的文本值

我有两个文件。使用一个我创建了一个下拉菜单和文本框,应该根据下拉菜单的选择来填充它们。我已经能够创建下拉菜单以及文本 ...

回答 2 投票 0

Razor 页面中的 Ajax

我的服务器端代码` public async Task OnPostUpdateStatusForbiddenTerms(long id) { base.OnBasePost(); 尝试 { 等待

回答 0 投票 0

Woocommerce 商店页面分页 + AJAX WP_Query

我有一个商店页面的自定义分页。我还有一个用于此分页的 AJAX 处理程序。但问题是移动到下一页时,$current_page 和 pagination 没有更新。在

回答 0 投票 0

提交输入表单并使用 AJAX 输出更新的 MySQL 表

我有以下表格用于填充 MySQL 表: 我有以下表格用于填充 MySQL 表: <?php $servername = "localhost"; $username = "root"; $password = "1234"; $dbname = "nebicimgeziyor"; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $selectWarns = "SELECT * FROM warns"; $selectWarnsResult = mysqli_query($conn, $selectWarns); ?> <!DOCTYPE html> <html> <head> <title>Warns Input Form</title> <link rel="stylesheet" href="style.css"> <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script> </head> <body> <h1 class="section__description">Warns Input Form</h1> <form class="warns__input" method="post" id="warn-form"> <label for="username">Username:</label> <input type="text" id="username" name="username"><br><br> <label for="warn_date">Warn Date:</label> <input type="date" id="warn_date" name="warn_date"><br><br> <!-- <button class="warns__btn" type="submit" name="submit">Submit</button> --> <input class="warns__btn" type="submit" name="submit" value="Submit"> </form> <div class="section__title"> <h2 class="section__description">WARN TABLE</h2> <h3 class="section__header"> </h3> </div> <div id="memberlist"><?php echo "<table class='warns-table'> <tr> <th>IG Name</th> <th>1st Warn</th> <th>2nd Warn</th> <th>3rd Warn</th> </tr>"; while ($row = mysqli_fetch_array($selectWarnsResult)){ if($row['warn1'] != NULL && $row['warn2'] != NULL && $row['warn3'] != NULL){ $bgc = 'warnrow'; } else { $bgc = ''; } echo "<tr>"; echo "<tr class='".$bgc."'>"; echo "<td ><a class='lastFive' href='https://instagram.com/".$row['username']."'>" . $row['username'] . "</a></td>"; echo "<td>" . $row['warn1'] . "</td>"; echo "<td>" . $row['warn2'] . "</td>"; echo "<td>" . $row['warn3'] . "</td>"; echo "</tr>"; } echo "</table>"; ?></div> <script> const warnForm = document.getElementById('warn-form'); const memberlist = document.getElementById('memberlist'); // console.log(memberlist); warnForm.addEventListener('submit', (event) => { event.preventDefault(); // prevent the form from submitting in the traditional way const formData = new FormData(warnForm); // get the form data const xhr = new XMLHttpRequest(); // create a new XMLHttpRequest object xhr.open('POST', 'warns_1.php'); // specify the endpoint to send the form data to xhr.onload = function() { if (xhr.status === 200) { // if the request is successful console.log(xhr.responseText); // log the response text to the console memberlist.innerHTML = xhr.responseText; // update the table with the response from the server warnForm.reset(); // reset the form console.log(xhr.responseText); } }; xhr.send(formData); // send the form data to the server }); </script> </body> </html> warns_1.php如下: <?php ini_set("display_errors", 1); // Establish database connection $servername = "localhost"; $username = "root"; $password = "1234"; $dbname = "nebicimgeziyor"; $conn = mysqli_connect($servername, $username, $password, $dbname); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // Process form submission if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = mysqli_real_escape_string($conn, $_POST["username"]); $warn_date = mysqli_real_escape_string($conn, $_POST["warn_date"]); // Check if user already exists in table $user_query = "SELECT * FROM warns WHERE username = '$username'"; $user_result = mysqli_query($conn, $user_query); if (mysqli_num_rows($user_result) > 0) { // Update existing user's warns $user_row = mysqli_fetch_assoc($user_result); $warn1 = $user_row["warn1"]; $warn2 = $user_row["warn2"]; $warn3 = $user_row["warn3"]; // Remove first warn if older than 30 days $today = date("Y-m-d"); $first_warn_date = min($warn1, $warn2, $warn3); $diff_days = (strtotime($today) - strtotime($first_warn_date)) / (60 * 60 * 24); if ($diff_days > 30) { $warn1 = $warn2; $warn2 = $warn3; $warn3 = NULL; } // Add new warn to available column if (!$warn1) { $warn1 = $warn_date; } elseif (!$warn2) { $warn2 = $warn_date; } elseif (!$warn3) { $warn3 = $warn_date; } else { // User already has 3 warns in last 30 days $query = "UPDATE warns SET marked = '1' WHERE username = '$username'"; mysqli_query($conn, $query); mysqli_close($conn); die("User has 3 warns in last 30 days. Further warns will not be saved."); } // Update user's warns in table if (!$warn1) { $query = "UPDATE warns SET warn1 = '$warn_date' WHERE username = '$username'"; mysqli_query($conn, $query); } elseif (!$warn2) { $query = "UPDATE warns SET warn2 = '$warn_date' WHERE username = '$username'"; mysqli_query($conn, $query); } elseif (!$warn3) { $query = "UPDATE warns SET warn3 = '$warn_date' WHERE username = '$username'"; mysqli_query($conn, $query); } else { // User already has 3 warns in last 30 days $query = "UPDATE warns SET marked = '1' WHERE username = '$username'"; mysqli_query($conn, $query); mysqli_close($conn); die("User has 3 warns in last 30 days. Further warns will not be saved."); } } else { // Insert new user $query = "INSERT INTO warns (username, warn1) VALUES ('$username', '$warn_date')"; mysqli_query($conn, $query); } mysqli_close($conn); } ?> 除了用新数据更新表格外,JS代码应该在提交表单后输出更新后的表格,而无需重新加载页面。但我不明白。我怎样才能做到这一点? 我试过输出 console.log(xhr.responseText) 但我收到的是空行。 使用AJAX提交输入表单并输出更新的MySQL表,您可以按照以下步骤操作: 创建一个包含您要提交的输入字段的 HTML 表单: html <form id="myForm"> <input type="text" name="name" placeholder="Name"> <input type="email" name="email" placeholder="Email"> <input type="submit" value="Submit"> </form> 使用jQuery拦截表单提交事件,向服务器发送AJAX请求: JavaScript $(document).ready(function() { $('#myForm').submit(function(event) { // Prevent the default form submission behavior event.preventDefault(); // Serialize the form data var formData = $(this).serialize(); // Send an AJAX request to the server $.ajax({ type: 'POST', url: 'submit-form.php', data: formData, success: function(response) { // Output the updated MySQL table $('#table-container').html(response); }, error: function(xhr, status, error) { console.log(xhr.responseText); } }); }); }); 在这段代码中,我们使用 jQuery 来拦截使用 $('#myForm').submit() 方法的表单提交事件。我们使用 event.preventDefault() 来阻止默认的表单提交行为。然后我们使用 $(this).serialize() 方法序列化表单数据。 我们使用 $.ajax() 方法向服务器发送 AJAX 请求。我们将 HTTP 方法设置为 POST 使用类型:'POST'。我们将 URL 设置为“submit-form.php”。我们使用 data: formData 将序列化的表单数据作为请求负载发送。我们定义了一个成功回调函数,它使用 $('#table-container').html(response) 方法输出更新的 MySQL 表。我们还定义了一个错误回调函数,用于将任何错误消息记录到控制台。 创建一个 PHP 脚本来处理表单提交并输出更新的 MySQL 表: PHP <?php // Process the form data and update the MySQL table // ... // Output the updated MySQL table echo '<table>'; echo '<tr><th>ID</th><th>Name</th><th>Email</th></tr>'; $conn = mysqli_connect('localhost', 'username', 'password', 'database'); $result = mysqli_query($conn, 'SELECT * FROM my_table'); while ($row = mysqli_fetch_assoc($result)) { echo '<tr><td>' . $row['id'] . '</td><td>' . $row['name'] . '</td><td>' . $row['email'] . '</td></tr>'; } echo '</table>'; mysqli_close($conn); ?> 在此PHP脚本中,您可以处理表单数据并根据需要更新MySQL表。然后,您可以使用 echo 语句将更新后的 MySQL 表输出为 HTML 表。在这个例子中,我们只是从 MySQL 表中获取所有行并将它们输出为 HTML 表。

回答 1 投票 0

如何根据 AJAX 请求更新分页

我有一个在 Shop Woocommerce 页面上呈现分页的功能。并且有一个 AJAX 处理程序。当您单击箭头时,页面应使用 AJAX 进行更改。问题是当...

回答 0 投票 0

如何在 javascript 中集成显示/隐藏?

我实际上正在为我的学校做一些项目,由于我的代码 JS 中的一些问题,我无法验证该项目。当我尝试添加/删除“项目”时,我的代码会刷新页面,...

回答 0 投票 0

取消链接不删除文件 - 怎么了?

这是我用来为用户任务上传图片的功能: 如果(isset($_POST[“按钮”])){ $naziv = trim($_POST["naziv"]); $kategorija = trim($_POST["kategorija&

回答 0 投票 0

如何匹配json格式?

我按照教程在 javascript ajax 中创建烛台图。但是现在我想实现一个 api,这样就可以在

回答 2 投票 0

403 /?wc-ajax=update_shipping_method

/?wc-ajax=update_shipping_method 给我 403 响应,内容为“-1”。因此,付款方式不会根据所选的交付方式刷新。 谁能帮忙

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.