روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ کیان سلگی
مشکل در دریافت آرایه در جاوا اسکریپت
جامعه پی اچ پی ایجاد شده در ۰۱ آذر ۱۴۰۰
<p>سلام وقت بخیر</p><p>دوستان من یک تابع نوشتم که در نهایت یک آرایه دو عضوی رو برمیگردونه و در انتها تو یک صفحه دیگه با ajax میخام بگیرم آرایه رو ولی میزنه تعریف نشده</p><p>زمانی که خود آرایه رو alert میکنم همه چیز درسته ولی زمانی که میخام به عضو خاصی دسترسی داشته باشم میزنه تعریف نشده</p><p>ممنون میشم راهنمایی کنید.</p><pre class=\"ql-syntax\" spellcheck=\"false\"><span class=\"hljs-comment\">// javascript code</span>   $.<span class=\"hljs-title function_\">ajax</span>({         <span class=\"hljs-attr\">url</span>: <span class=\"hljs-string\">\"./process/ajax_handler.php\"</span>,         <span class=\"hljs-attr\">method</span>: <span class=\"hljs-string\">\"post\"</span>,         <span class=\"hljs-attr\">data</span>: {           <span class=\"hljs-attr\">action</span>: <span class=\"hljs-string\">\"add_folder\"</span>,           <span class=\"hljs-attr\">folder_title</span>: folder_title.<span class=\"hljs-title function_\">val</span>()         },         <span class=\"hljs-attr\">success</span>: <span class=\"hljs-keyword\">function</span>(<span class=\"hljs-params\">response</span>) {           <span class=\"hljs-keyword\">var</span> id = response[<span class=\"hljs-number\">0</span>];           <span class=\"hljs-title function_\">alert</span>(id);           <span class=\"hljs-keyword\">var</span> list = $(<span class=\"hljs-string\">\'.folders\'</span>);           $(<span class=\"hljs-string\">\' <li> <i class=\"fa fa-folder\">\'</span> + folder_title.<span class=\"hljs-title function_\">val</span>() + <span class=\"hljs-string\">\'<a id=\"remove\" href=\"?id=\'</span> + id + <span class=\"hljs-string\">\'\">*</a></i></li>\'</span>).<span class=\"hljs-title function_\">appendTo</span>(list);         }       }); <span class=\"hljs-comment\">// php code</span> function add_folder($folder_title){     $user_id=current_user_id(); global $connection; $query = \"INSERT INTO `folders` (title,user_id) VALUES(:folder_title,:user_id)\"; $stmt = $connection->prepare($query); $stmt->execute([\"folder_title\"=> $folder_title , \"user_id\" => $user_id]); return [$connection->lastInsertId(),$stmt->rowCount()]; } </pre>
<p>سلام.</p><ol><li>برای تولید خروجی آرایه باید از json_encode استفاده کنید.</li><li>خروجی رو باید چاپ کنید.</li></ol><p>این کد شما:</p><pre class="ql-syntax" spellcheck="false"><span class="hljs-keyword">return</span> [<span class="hljs-variable">$connection</span>->lastInsertId(),<span class="hljs-variable">$stmt</span>->rowCount()]; </pre><p>باید تبدیل بشه به این کد پایین:</p><pre class="ql-syntax" spellcheck="false"><span class="hljs-keyword">echo</span> json_encode([<span class="hljs-variable">$connection</span>->lastInsertId(),<span class="hljs-variable">$stmt</span>->rowCount()]); </pre><p><br></p><p>دستورات سمت جاوااسکریپت به این شکل میشه:</p><pre class="ql-syntax" spellcheck="false">response = JSON.parse(response) var <span class="hljs-built_in">id</span> = response[<span class="hljs-number">0</span>]; alert(<span class="hljs-built_in">id</span>); </pre>
بهترین پاسخ
محسن موحد ۰۱ آذر ۱۴۰۰، ۲۰:۳۸